Javascript jQuery ajax函数不工作未发送请求也未收到错误
我使用了一些代码来调用$.ajax 一切正常,但现在,服务器没有收到任何请求,Chrome网络窗口显示GET 200 ok,无论是GET还是POST请求 在network选项卡中,没有来自$.ajax设置的url:url参数的请求,相反,我看到的是当前页面的请求,该请求生成200 OK响应 不会抛出错误,也不会调用success函数 我一直在研究可能的缓存问题,但是,POST请求从未被缓存,因此我不确定发生了什么 编辑:添加了console.log,在执行一个UI函数(该函数应触发$.ajax调用)后,日志显示: doajax:称为$.ajax 我还打开了日志XMLHttpRequests,我看到确认请求确实生成了,但对于当前页面url,不是通过设置传入的参数 答:这是jQuery版本的问题。我发现有一个旧版本的jQuery正在使用,我刚刚集成了这段代码。当我把jQuery1.11放在我的代码上面时,一切都正常 因此,实际的问题是,直到jQuery1.5才支持$.ajaxurl、设置;并且只有$.ajaxsettings;可以使用Javascript jQuery ajax函数不工作未发送请求也未收到错误,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我使用了一些代码来调用$.ajax 一切正常,但现在,服务器没有收到任何请求,Chrome网络窗口显示GET 200 ok,无论是GET还是POST请求 在network选项卡中,没有来自$.ajax设置的url:url参数的请求,相反,我看到的是当前页面的请求,该请求生成200 OK响应 不会抛出错误,也不会调用success函数 我一直在研究可能的缓存问题,但是,POST请求从未被缓存,因此我不确定发生了什么 编辑:添加了console.log,在执行一个UI函数(该函数应触发$.ajax调
我可以确认使用jQuery 1.5+或将我的代码更改为$.ajaxsettings;将起作用并解决问题。帮个忙,在代码中添加一些console.logs,看看哪些部分在工作,哪些部分不工作。可能是上游…您是否设置了chrome来记录xmlhttprequests?@Dwza它来自jQuery ajax调用…nvm,我看到了,我的错误:
function doajax(url, dataType, data, method, context, callback, block) {
block = typeof block !== 'undefined' ? block : true;
if (block) {
showOverlay();
}
var settings = {
dataType: dataType,
data: data,
type: method,
url: url,
error: onerror,
success: function (data, textStatus, jqXHR) { onsuccess(data, textStatus, jqXHR, context, callback); }
};
$.ajax(url, settings);
console.log("doajax: called $.ajax");
return false;
}
function onerror(jqXHR, textStatus, errorThrown) {
console.log("doajax: error");
hideOverlay();
formSpinner.stop();
var extra = jqXHR.hasOwnProperty("responseJSON") ? jqXHR.responseJSON.error : jqXHR.responseText;
alert("Error (" + jqXHR.status + ") :: " + textStatus + " :: " + errorThrown + " :: " + extra);
}
function onsuccess(data, textStatus, jqXHR, context, callback) {
console.log("doajax: success");
hideOverlay();
formSpinner.stop();
if (data.status === 200 || data.status === 201) {
hooks[callback](data, context);
}
else {
alert("Error (" + jqXHR.status + ") :: " + textStatus + " :: " + data.error);
}
}