有几种方法可以使用jQuery向服务器发出请求。
.load()
.post()
.get()
.ajax()
为了整个应用程序的一致性,我总是使用.ajax()
。
但我想知道这是不是一个好方法。
所以......是吗?
答案 0 :(得分:3)
其他方法(post
,load
和get
)只是调用ajax
方法的简便方法,所以这是样式/约定的问题。< / p>
答案 1 :(得分:2)
在整个应用程序中使用ajax没有任何问题。我会建议这个......
如果我不得不给出一个类似的get,post和ajax,就像你可以自己买一辆完整的汽车,有一个友好的界面(踏板,方向盘等)所以你不必做这一切都是你自己。
$。get,$ .post等用于更高级别的抽象,通常更容易理解和使用,但不提供太多功能(例如错误回调)。
总结:
$.load(): Load a piece of html into a container DOM.
$.get(): Use this if you want to make a GET call and play extensively with the response.
$.post(): Use this if you want to make a POST call and don’t want to load the response to some container DOM.
$.ajax(): Use this if you need to do something when XHR fails, or you need to specify ajax options (e.g. cache: true) on the fly.
希望有道理..
答案 2 :(得分:2)
这只是一个偏好问题,我自己从未使用任何这些捷径。
.load(), .post(), .get()
,只是简短的手,在内部他们都依赖于$.ajax
。
要测试他们所有内部呼叫$.ajax
,您可以点击$.ajax
,如下所示
var capturedAjax= $.ajax;
$.ajax=function myCustomAjax(options)
{
options.beforeSend=function()
{
alert('before send captured');
}
return capturedAjax(options);
}
jQuery.get('http://google.com');
答案 3 :(得分:0)
将自己限制为仅使用.ajax()
是一个坏主意。这是一个类比来解释原因:
Anna和Joe每个人都有一个工具箱,里面装有各种附件的多功能工具,带式砂光机,电钻,台锯和一堆螺丝。他们都需要使用可供使用的工具和充足的木材来建造一个木制橱柜。 Joe决定使用一体化工具,只需根据需要更改附件。然而,Anna意识到使用专门用于特定目的的工具构建机柜会更容易,更快,并决定使用一体化工具来完成所有工作。 Anna能够在更短的时间内建立一个更好的橱柜,因为她选择使用专为特定目的而设计的工具而不是一体化工具。
类比更新以比较一体化工具与多个专用工具,更准确地反映了ajax与get,post和load的比较。感谢您的建议!