使用jQuery向服务器发出请求

时间:2011-08-09 20:12:54

标签: javascript ajax jquery

有几种方法可以使用jQuery向服务器发出请求。

.load()
.post()
.get()
.ajax()

为了整个应用程序的一致性,我总是使用.ajax()

但我想知道这是不是一个好方法。

所以......是吗?

4 个答案:

答案 0 :(得分:3)

其他方法(postloadget)只是调用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');   

http://jsfiddle.net/praveen_prasad/LBBhf/

答案 3 :(得分:0)

将自己限制为仅使用.ajax()是一个坏主意。这是一个类比来解释原因:

  

Anna和Joe每个人都有一个工具箱,里面装有各种附件的多功能工具,带式砂光机,电钻,台锯和一堆螺丝。他们都需要使用可供使用的工具和充足的木材来建造一个木制橱柜。 Joe决定使用一体化工具,只需根据需要更改附件。然而,Anna意识到使用专门用于特定目的的工具构建机柜会更容易,更快,并决定使用一体化工具来完成所有工作。 Anna能够在更短的时间内建立一个更好的橱柜,因为她选择使用专为特定目的而设计的工具而不是一体化工具。

     

类比更新以比较一体化工具与多个专用工具,更准确地反映了ajax与get,post和load的比较。感谢您的建议!