我现在正在将脚本更改为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),就像我在旧脚本中所做的那样?
答案 0 :(得分:19)
试试这个:
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{
}
}
});
答案 1 :(得分:1)
您需要将此请求绑定到按钮单击等事件 像
$('#btn').click({function(){
$.ajax({
type: "GET",
url: url,
data: data,
success: updatePage
});
});
你不需要真正保持对变量的请求,因为 jQuery ajax 有一个成功回调,它将帮助你执行后期成功代码