AJAX为canceled

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

 

 

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>

share
improve this answer answered 
Jun 5 ‘14 at 13:55

fuco
46545

  • 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

相关文章