Javascript 函数没有触发?
我的js中有这个ajax调用。通过这个请求,我想知道是否有以前打开的会话,在这种情况下,它将显示登录表单 因此,如果没有以前的会话,服务器将返回错误400 bad request laravel response class。但是当服务器返回时,$.ajax对象不会触发error函数。有人知道为什么吗 服务器响应 Ajax请求 我也尝试过获取状态代码以触发函数,但它无论如何都不起作用: **Ajax请求**Javascript 函数没有触发?,javascript,php,jquery,ajax,jsonp,Javascript,Php,Jquery,Ajax,Jsonp,我的js中有这个ajax调用。通过这个请求,我想知道是否有以前打开的会话,在这种情况下,它将显示登录表单 因此,如果没有以前的会话,服务器将返回错误400 bad request laravel response class。但是当服务器返回时,$.ajax对象不会触发error函数。有人知道为什么吗 服务器响应 Ajax请求 我也尝试过获取状态代码以触发函数,但它无论如何都不起作用: **Ajax请求** $.ajax({ global: true, method: 'POST',
$.ajax({
global: true,
method: 'POST',
dataType: 'jsonp',
url: 'http://localhost:8082/api/checkAuth?callback=?',
success: function(response) {
return console.log(response);
},
statusCode:{
400: function(a,b,c){
console.log(a);
console.log(b);
console.log(c);
}
}
});
谢谢你们的帮助
一些更新:
多亏了manish,我发现了处理jsonp请求的方法,它触发了错误函数。有人知道如何在error函数中捕获返回的状态代码吗?代码中没有问题,这是如何处理json和jsonp响应的。检查以了解如何处理错误响应。你可以用
为了处理jsonp请求响应,我假设服务器返回400,因为它需要POST请求,jsonp只能发送GET请求。您可能不想使用jsonp,而是想使用。在浏览器中按F12键,然后选择“网络”选项卡,检查服务器是否真的在应答,以及js的状态码是什么。完成后,请求将响应400,如果我将响应码从服务器更改为200,成功函数的触发方式类似于charm.return console.logresponse;返回没有意义。这就是coffeescript编译它的方式。这应该是一个评论,而不是一个答案。谢谢你,伙计,我使用了你建议的插件,效果很好。我想在产生错误时捕获状态码,只是为了过滤400 what means login failure或其他状态码。你知道怎么做吗?我故意返回状态码400,我在错误处理方面遇到了问题,没有避开状态码400。谢谢你的回答。老兄,正如你所说,我最终放弃了jsonp而使用CORS。再次感谢你的回答。
$.ajax({
global: true,
method: 'POST',
dataType: 'jsonp',
url: 'http://localhost:8082/api/checkAuth?callback=?',
success: function(response) {
return console.log(response);
},
error: function(a, b, c) {
console.log(a);
console.log(b);
return console.log(c);
}
});
$.ajax({
global: true,
method: 'POST',
dataType: 'jsonp',
url: 'http://localhost:8082/api/checkAuth?callback=?',
success: function(response) {
return console.log(response);
},
statusCode:{
400: function(a,b,c){
console.log(a);
console.log(b);
console.log(c);
}
}
});