• AJAX的status为canceled


    https://stackoverflow.com/questions/12009423/what-does-status-canceled-for-a-resource-mean-in-chrome-developer-tools

    AJAX默认的是异步模式,经过观察,频繁请求,之前的某个请求超时会引起这个问题。

    改成同步即可。

    status=canceled may happen also on ajax requests on JavaScript events:

    <script>
      $("#call_ajax").on("click", function(event){
         $.ajax({
            ...    
         });
      });
    </script>
    
    <button id="call_ajax">call</button> 
    

    The event successfully sends the request, but is is canceled then (but processed by the server). The reason is, the elements submit forms on click events, no matter if you make any ajax requests on the same click event.

    To prevent request from being cancelled, JavaScript event.preventDefault(); have to be called:

    <script>
      $("#call_ajax").on("click", function(event){
         event.preventDefault();
         $.ajax({
            ...    
         });
      });
    </script>
    
    • 2
      This saved me, was the problem in my case where I used angular's ng-click on a button with type="submit" and then did some networking in the called function. Chrome kept canceling that request...– Robin Jan 6 '15 at 13:36
    • 1
      Unfortunately it does not work for me. Any other hints? – Krzysztof Jan 13 '16 at 10:10
    •  
      Vaov saved me too! For an angular ng-click event I had nested $http requests and second one was being canceled. After setting the prevent default line it started working again, thanks. – Bahadir Tasdemir Sep 20 '16 at 15:03
    •  
      Thanks for this. I knew it was not CORS or a DOM issue. Perhaps @whamma could update their answer to include this as possible cause for completeness :) – glidester Oct 20 '17 at 11:15
       
       
       
  • 相关阅读:
    更好一点的:Vue 利用指令实现禁止反复发送请求
    实现一个深度比较
    Zrender:实现波浪纹效果
    Echarts:实现拖拽效果
    找到树中指定id的所有父节点
    Vue 利用指令实现禁止反复发送请求
    我对组件化的一点细琐的想法
    转盘式旋转抽奖
    信息系统与信息化
    跳出牢笼,逃出生天
  • 原文地址:https://www.cnblogs.com/coolgame/p/10075696.html
Copyright © 2020-2023  润新知