jquery ajax http状态代码

我现在正在将脚本更改为jquery。 这是我的旧javascript:

var request = (window.XMLHttpRequest) ? new XMLHttpRequest() : (window.ActiveXObject ? new window.ActiveXObject("Microsoft.XMLHTTP") : false); request.open("GET", url, true); request.onreadystatechange = updatePage; request.send(null); function updatePage() { if (request.readyState == 4) { if (request.status == 200) { var response = request.responseText; doSomething(); } else if (request.status == 304) { doSomethingElse(); } else { } } } 

我现在想将其更改为jquery-ajax:

 request = $.ajax({ type: "GET", url: url, data: data, success: updatePage }); 

如何测试请求返回的状态代码(和responseText),就像我在旧脚本中所做的那样?

试试这个:

 request = $.ajax({ type: "GET", url: url, data: data, statusCode: { 200: function() { doSomething(); }, 304:function(){ doSomethingElse(); } } }); 

要么:

 request = $.ajax({ type: "GET", url: url, data: data, complete: function(e, xhr, settings){ if(e.status === 200){ }else if(e.status === 304){ }else{ } } }); 

您需要将此请求绑定到按钮单击或类似的事件

 $('#btn').click({function(){ $.ajax({ type: "GET", url: url, data: data, success: updatePage }); }); 

您不需要真正保持对变量的请求,因为jQuery ajax有一个成功的回调 ,它将帮助您执行后成功代码