我使用jQuery ajax函数来访问Web服务,但是服务器不是返回带有描述问题的状态代码的响应,而是将请求重定向到具有200头的页面,描述问题.我无法对此进行任何更改,因此我需要以某种方式在客户端上解决它.
示例:请求转到某个找不到的URL,因此我收到302重定向到另一个位置.发送一个新请求,我收到200 OK,从而防止错误回调触发.
有什么方法可以阻止ajax请求跟随重定向,而是调用回调,最好是错误方法.或者,是否可以检测客户端中是否发生了重定向?
我想以下代码:
jQuery("#mybutton").click(function(){
//do something
});
Run Code Online (Sandbox Code Playgroud)
我怎么能记得这个函数"匿名"?,我不能给这个函数命名:
var xfun = function(){
//do something
}
jQuery("#mybutton").click(xfun);
Run Code Online (Sandbox Code Playgroud)
我可以这样做:
var working = false;
jQuery("#mybutton").click(function(){
if (working){
var _this = this;
_this._eventType = e.type;
setTimeout(function() { jQuery(_this).trigger(_this._eventType); }, 200);
return false;
}
//do something
});
Run Code Online (Sandbox Code Playgroud)
我需要的是这样的事情:
var working = false;
jQuery("#mybutton").click(function(){
if (working){
setTimeout( this_function, 200);
return false;
}
//do something
});
Run Code Online (Sandbox Code Playgroud)
谢谢.
编辑:
解:
jQuery("#mybutton").click(function(){
if (working){
var fn = arguments.callee;
var _this = this;
setTimeout(function(){fn.call(_this);}, 200);
return false;
}
//do something
});
Run Code Online (Sandbox Code Playgroud) 我有一个AJAX调用服务器端点,它执行301重定向到同一页面,但有一个尾部斜杠.
浏览器在使用AJAX调用时是否遵循重定向,还是忽略它们?在我的情况下,它不遵循它们,但我认为它可能是来自服务器配置的东西.