ajax中return false无效问题怎么处理?不想通过async=false

ajax成功后需要使用return false,但是无效,需要将async改为false,即同步的情况下才可以,如果不改变async的情况下,还有其他处理方式吗?

阅读 3.7k
1 个回答

好奇怪的逻辑,成功之后 return false……

Ajax 是异步调用,异步调用并不能阻塞当前代码,所以它返回的并不是远端返回的值,一般来说是一个 Promise 或 Promise like,比如 jQuery 的 $.ajax 返回的是 jqXhr,是一个 Promise like。由于 jQuery 的 Promise 有自己独特的 API,可以使用 done()fail() 回调,比如

$.ajax(各种参数)
    .done(result => 处理正确的远端返回,包含200返回的逻辑错误)
    .fail((...args) => 各种错误,不含无端以200返回的逻辑错误);

所以最终处理 result 的代码必须以回调的形式来写

参考

宣传栏