似乎只有在ajax请求能够从服务器获得某些响应时,才会触发成功,错误和完整的回调。
因此,如果我关闭服务器,则不会执行以下错误回调,并且请求将以静默方式失败。
$.ajax({
type: "GET",
url: "http://localhost:3000/",
dataType: "script",
success: function() {
alert("success");
},
error: function() {
alert("error");
}
});
当根本无法访问服务器时,抛出错误的最佳方法是什么。
编辑-从我尝试过的内容来看,似乎jQuery的内置错误处理不适用于JSONP或dataType:“ script”。因此,我将尝试设置手动超时。
编辑-做了一些进一步的研究,看来不仅ajax错误回调不起作用,而且您无法使用dataType脚本或jsonp中止ajax请求,并且这些请求将忽略超时设置。
还有一个替代方法-jquery-
jsonp插件,但它使用了隐藏的iframe,我宁愿避免使用。因此,我决定按照以下建议创建手动超时。如果请求超时,您将无法中止请求,这意味着即使在超时后脚本仍可能加载,但是如果服务器不可用,至少会触发某些事件。
您可以使用setTimeout
,并clearTimeout
在完整的处理程序中将其清除。
var reqTimeout = setTimeout(function()
{
alert("Request timed out.");
}, 5000);
var xhr = $.ajax({
type: "GET",
url: "http://localhost:3000/",
dataType: "script",
success: function() {
alert("success");
},
error: function() {
alert("error");
},
complete: function() {
clearTimeout(reqTimeout);
}
});
我正在尝试使用JQuery在Ajax中向请求添加头。 以下是代码:- 然后我使用了要求(要求是chrome火狐插件,我们可以手动添加一个标题到请求)。 手动添加标题后:- 在这两个pics请求头中,“ACCESS-CONTROL-request-HEADERS”中都有x-auth-token,但第二个pic中有“x-auth-token”头和头值,而第一个pic中没有。 所以我的问题是如何使用JQ
我正在使用Spring Security,我实现了UserDetailsService,它完美地处理了我的用户登录过程。 问题是:是否有标准的方法来检查每个请求的数据库中的用户状态,以便如果用户的帐户状态更改为“锁定”或他的角色在他仍然登录时发生更改,应用程序会阻止他继续他的工作。 这里的问题是,我的自定义UserDetailsService类中的“public UserDetails loadU
我们的堆栈使用主干作为客户端应用程序,使用Spring Boot作为RESTful API。 我们尝试使用OAuth2进行基本身份验证,用户提供用户名和密码。 我们使用Spring Security进行身份验证,使用jQuery$. ajax方法进行请求。但是,在我们甚至可以使用带有我们的秘密的POST标头进行授权之前,我们得到的响应是预飞行OPTIONS请求的401(未授权)状态。但是,我们可以
问题内容: 如何检查jQuery.ajax()请求标头状态是否为“ 304未修改”? 通常返回,即使请求的标头是“ 304 Not Modified”。 并没有太大帮助,因为它中断了XHR数据请求。 问题答案: 如果不手动处理高速缓存头,则不可能。通常,XHR API无法提供304个响应: 对于由于用户代理生成的条件请求 而 产生的304未修改响应, 用户代理必须像服务器给出200 OK响应并提供
问题内容: 这应该很容易。 我有一个脚本,在脚本中我想确定请求是否通过或方法到达。 正确的方法是什么? 我正在考虑使用这样的东西 但是我内心深处并不觉得这是正确的方法。任何的想法? 问题答案: 更好地使用:
问题内容: 有没有一种方法可以检查Python中的请求是否为AJAX? 相当于PHP的? 问题答案: 如果AJAX框架在其请求中设置了X-Requested-With标头,则您将能够使用该标头来检测AJAX调用。这取决于客户端框架。 掌握HTTP标头取决于您选择的Python框架。在Django中,对象具有可以直接使用的方法。