Status = bị hủy đối với tài nguyên có ý nghĩa gì trong Công cụ dành cho nhà phát triển Chrome?


402

Điều gì sẽ khiến một trang bị hủy bỏ? Tôi có một ảnh chụp màn hình của Công cụ dành cho nhà phát triển Chrome.

Tài nguyên bị hủy

Điều này xảy ra thường xuyên nhưng không phải mọi lúc. Có vẻ như một khi một số tài nguyên khác được lưu vào bộ đệm, việc làm mới trang sẽ tải LeftPane.aspx. Và điều thực sự kỳ lạ là điều này chỉ xảy ra trong Google Chrome chứ không phải Internet Explorer 8. Bạn có biết tại sao Chrome sẽ hủy yêu cầu không?


13
Bạn có thể có thể nhận được nhiều chi tiết hơn từ dấu vết nội mạng . Tôi đã có một vấn đề tương tự và tìm thấy trong trường hợp của tôi mà hủy bỏ là net::ERR_ABORTEDdưới vỏ bọc. Nếu đó là trường hợp, bài đăng này giải thích rằng "net :: ERR_ABORTED chỉ được tạo khi hành động của người dùng khiến tải bị gián đoạn. Điều này có thể xảy ra khi điều hướng mới làm gián đoạn một điều kiện hiện có hoặc khi người dùng nhấp vào STOP cái nút."
John McCarthy

Cảm ơn. Trong trường hợp của tôi, đó không phải là người dùng vì tôi là người dùng. Trang này có (quá) nhiều khung. Có lẽ khung src được thay đổi? Thật kỳ lạ khi tôi chưa bao giờ thấy nó xảy ra trong IE. Tôi sẽ xem xét nội bộ mạng.
styfle

@ nondescript1 Tôi đã chụp trong khi tái tạo lỗi và đổ vào một tệp. Bây giờ tôi có một tập tin json 18.000 dòng. Tôi đang tìm kiếm điều gì đây?
styfle

3
Tôi thực sự không biết. Thực tế đã bắt gặp câu hỏi của bạn khi tôi đang tìm kiếm thêm thông tin về trạng thái = tự hủy, đó là lý do tại sao tôi chỉ thêm nhận xét và không trả lời;). Tôi không có lý do để nghĩ rằng nó liên quan đến bộ nhớ đệm. Tôi nghi ngờ hơn về một điều hướng khác đã bắt đầu một người nào đó trong trang. Khi tôi thấy điều này, tôi đã cố gắng bắt đầu tải xuống với window.open () khiến yêu cầu máy chủ khác bị hủy. Trong trường hợp của tôi, Firefox không gặp phải vấn đề này nhưng Chrome thì có.
John McCarthy

1
Để không phải nói mà không nói, một nguyên nhân có thể của "(đã hủy)" trong cột trạng thái - mặc dù chắc chắn không phải là nguyên nhân duy nhất có thể - là URL như đã đưa ra đã trả về 404 hoặc lỗi khác. Buộc làm mới URL trong một tab khác một vài lần để đảm bảo rằng nó đang tải một cách nhất quán.
rakslice

Câu trả lời:


592

Chúng tôi đã giải quyết một vấn đề tương tự khi Chrome hủy yêu cầu tải mọi thứ trong khung hoặc iframe, nhưng chỉ xảy ra không liên tục và nó dường như phụ thuộc vào máy tính và / hoặc tốc độ kết nối internet.

Thông tin này đã hết hạn vài tháng, nhưng tôi đã xây dựng Chromium từ đầu, đào qua nguồn để tìm tất cả các địa điểm nơi yêu cầu có thể bị hủy và tát các điểm dừng trên tất cả chúng để gỡ lỗi. Từ bộ nhớ, những nơi duy nhất mà Chrome sẽ hủy yêu cầu:

  • Phần tử DOM khiến yêu cầu được thực hiện đã bị xóa (tức là một IMG đang được tải, nhưng trước khi tải xảy ra, bạn đã xóa nút IMG)
  • Bạn đã làm một cái gì đó làm cho việc tải dữ liệu không cần thiết. (tức là bạn đã bắt đầu tải iframe, sau đó thay đổi src hoặc ghi đè lên nội dung)
  • Có rất nhiều yêu cầu đến cùng một máy chủ và sự cố mạng đối với các yêu cầu trước đó cho thấy rằng các yêu cầu tiếp theo không hoạt động (lỗi tra cứu DNS, yêu cầu trước đó (tương tự) dẫn đến mã lỗi HTTP 400, v.v.)

Trong trường hợp của chúng tôi, cuối cùng chúng tôi đã truy tìm nó xuống một khung cố gắng nối HTML sang khung khác, điều đó đôi khi xảy ra trước khi khung đích được tải. Khi bạn chạm vào nội dung của iframe, nó không thể tải tài nguyên vào đó nữa (làm sao nó biết đặt nó ở đâu?) Để nó hủy yêu cầu.


2
Rất nhiều thông tin, cảm ơn bạn. Tôi gặp khó khăn khi tái tạo lỗi này bởi vì một khi mọi thứ được lưu vào bộ đệm, nó không xảy ra. Nếu đặt điểm dừng trong javascript của tôi, điều đó sẽ không xảy ra. Điểm đầu tiên của bạn có lẽ không phải là vấn đề vì tôi không thấy một yếu tố nào bị xóa. Tôi biết thực tế nó không phải là gạch đầu dòng 3. Ý của bạn là gì khi "Khi bạn chạm vào nội dung của iframe, nó không còn có thể tải tài nguyên vào đó nữa"? Bạn có thể đưa ra một ví dụ không?
styfle

1
Hấp dẫn. Vì vậy, tôi cần tìm tất cả document.writes cho khung đó và đảm bảo chúng chỉ ghi khi khung được tải. Tôi sẽ đánh dấu đây là câu trả lời đúng vì bạn đã trả lời ý nghĩa của trạng thái đó.
styfle

3
@styfle Có, nhưng nó cũng có thể là những thứ khác ngoài document.write. Bất cứ điều gì cố gắng ghi vào khung như appendChild hoặc tương tự đều có thể gây ra điều này. Bạn có thể muốn tạo một trình xử lý onLoad trong mỗi khung ghi truevào một số biến, sau đó các khung khác sẽ tìm trước đó trước khi chạm vào bất cứ thứ gì.
whamma

14
Tôi cũng đã có vấn đề khủng khiếp với điều này. Một điều mà tôi đã tìm thấy luôn kích hoạt điều này nếu phản hồi AJAX có mã trạng thái 301/302 và URL chuyển hướng nằm trên một tên miền khác. Đây là một sự tái tạo nhất quán của vấn đề đối với tôi.
eb80

1
Đối với tôi đó là iframe nối vào cơ thể sau đó ngay lập tức bị xóa khỏi cơ thể. Tôi đặt một ngắt dòng và vấn đề không có ở đó. Vì vậy, đặt một số thời gian chờ (15 ms) và khắc phục nó. @whamma nó thực sự là động lực cho cách bạn giải quyết vấn đề. Cảm ơn cho một chi tiết sâu sắc tuyệt vời như vậy. :-)
húng quế muhammed

53

status = bị hủy cũng có thể xảy ra với các yêu cầu ajax trong các sự kiện JavaScript:

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

<button id="call_ajax">call</button> 

Sự kiện gửi thành công yêu cầu, nhưng sau đó bị hủy (nhưng được xử lý bởi máy chủ). Lý do là, các yếu tố gửi biểu mẫu cho các sự kiện nhấp chuột, bất kể bạn có thực hiện bất kỳ yêu cầu ajax nào trên cùng một sự kiện nhấp chuột hay không.

Để ngăn yêu cầu bị hủy, JavaScript event.preventDefault (); phải được gọi là:

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

3
Điều này đã cứu tôi, là vấn đề trong trường hợp của tôi khi tôi sử dụng các góc ng-clicktrên một nút type="submit"và sau đó thực hiện một số kết nối mạng trong chức năng được gọi. Chrome tiếp tục hủy yêu cầu đó ...
Robin

1
Thật không may, nó không làm việc cho tôi. Bất kỳ gợi ý khác?
Krzysztof Madej

Vaov đã cứu tôi quá! Đối với một sự kiện nhấp chuột góc cạnh, tôi đã lồng các yêu cầu $ http và lần thứ hai đã bị hủy. Sau khi thiết lập dòng mặc định, nó bắt đầu hoạt động trở lại, cảm ơn.
Bahadir Tasdemir

Cám ơn vì cái này. Tôi biết đó không phải là vấn đề CORS hay DOM. Có lẽ @whamma có thể cập nhật câu trả lời của họ để đưa vào đây là nguyên nhân có thể cho sự hoàn chỉnh :)
glidester

Kính chào chúa !! Thưa bạn, bạn là một thiên tài tuyệt đối !! Tôi đã được cứu !!
Dilnoor Singh

25

Lưu ý: Hãy chắc chắn rằng bạn không có bất kỳ yếu tố hình thức gói nào .

Tôi gặp vấn đề tương tự khi nút của tôi với onclick = {} được gói trong một phần tử biểu mẫu. Khi nhấp vào nút, biểu mẫu cũng được gửi và điều đó làm rối tung tất cả ...

Câu trả lời này có lẽ sẽ không bao giờ được đọc bởi bất cứ ai, nhưng tôi đã hiểu tại sao không viết nó :)


Đây là nguyên nhân gốc rễ đối với tôi - một nút kích hoạt POST hai lần. Tôi không muốn di chuyển nút ra khỏi phần tử biểu mẫu vì công cụ CSS vì vậy đây là giải pháp: stackoverflow.com/questions/932653/
Kẻ

Cùng một vấn đề. Để làm rõ, tôi có một nút chứa trong một biểu mẫu với một loại trình, nhưng có một onclick đang thực hiện một biểu mẫu jquery, gửi ajax. Nó hoạt động trong FF, nhưng thất bại ở chome và IE, và khiến tôi phát điên cho đến khi tôi tìm thấy nó.
ChrisThndry

Điều này khắc phục sự cố xảy ra với tôi trong ứng dụng Vue.js trong đó một @clicksự kiện được liên kết với một thành <button>phần bên trong trình bao bọc biểu mẫu. Tránh làm điều này trừ khi bạn đang sử dụng công cụ @submit.preventsửa đổi sự kiện của Vue .
Paul Wenzel

Đây là trường hợp đối với tôi. Bằng cách thêm type="button"thẻ vào nút của tôi, biểu mẫu không được gửi và sự kiện bị hủy đã tránh được.
Brandon Medenwald

12

Một thứ khác cần chú ý có thể là tiện ích mở rộng AdBlock hoặc các tiện ích mở rộng nói chung.

Nhưng "rất nhiều" người có AdBlock ....

Để loại trừ (các) tiện ích mở rộng, hãy mở một tab mới trong ẩn danh để đảm bảo rằng "cho phép ẩn danh bị tắt" đối với (các) tiện ích mở rộng mà bạn muốn kiểm tra.


Chính xác những gì đã xảy ra. Đã bật plugin noscript và đột nhiên iFrame không tải nữa.
Margus Pala

Đối với tôi, đó là plugin Hola. Sau khi vô hiệu hóa, các yêu cầu không còn bị hủy bỏ.
Lenin Raj Rajasekaran

1
Trong trường hợp của tôi, đó là tiện ích mở rộng chrome "Trình thông báo lỗi JavaScript"
Alex

Tôi đã thử xem xét mọi thứ và vẫn không gặp may với Angular 8, vô hiệu hóa tất cả các tiện ích mở rộng và vẫn trên các mạng 3G chậm bị hủy. :(
sinh2net

10

Bạn có thể muốn kiểm tra thẻ tiêu đề "X-Frame-Options". Nếu được đặt thành SAMEORIGIN hoặc DENY thì việc chèn iFrame sẽ bị Chrome (và các trình duyệt khác) hủy theo thông số kỹ thuật .

Ngoài ra, lưu ý rằng một số trình duyệt hỗ trợ cài đặt ALLOW-FROM nhưng Chrome thì không.

Để giải quyết vấn đề này, bạn sẽ cần xóa thẻ tiêu đề "X-Frame-Options". Điều này có thể khiến bạn mở các cuộc tấn công nhấp chuột, do đó bạn sẽ cần phải quyết định những rủi ro là gì và làm thế nào để giảm thiểu chúng.


Đây chính xác là vấn đề của tôi. Chủ đề này có câu trả lời tốt về cách khắc phục: stackoverflow.com/questions/6666423/
Khăn

8

Trong trường hợp của tôi, tôi thấy rằng đó là cài đặt thời gian chờ toàn cầu, một cài đặt plugin jquery hết thời gian chờ đến 500ms, để khi yêu cầu vượt quá 500ms, chrome sẽ hủy yêu cầu.


Chạy vào cùng một vấn đề. Trong trường hợp của tôi, đó là sự phát triển WordPress / WooC Commerce cục bộ với máy chủ khách VirtualBox và một số yêu cầu AJAX của WooC Commerce có thời gian chờ AJAX được xác định trước là 5000ms. Nếu ai đó gặp phải vấn đề tương tự, thời gian chờ này được xác định trong includes/class-wc-frontend-scripts.phptệp.
Ivan Shatsky

7

Đây là những gì đã xảy ra với tôi: máy chủ đang trả lại tiêu đề "Vị trí" không đúng định dạng cho chuyển hướng 302. Chrome thất bại trong việc nói với tôi điều này, tất nhiên. Tôi mở trang trong firefox và ngay lập tức phát hiện ra vấn đề. Rất vui khi có nhiều công cụ :)


Mặc dù rất rõ ràng về lý do, nhưng vẫn, đây thực sự là một câu trả lời rất hữu ích. Tôi đã chỉnh sửa một số mã coffeescript cũ và đã hoàn toàn quên rằng các trích dẫn đơn lẻ không thực hiện #{}phép nội suy, do đó, url kết quả bị sai. Nhưng Chrome đã không cho tôi biết bất cứ điều gì về nó.
kumarharsh

4

Một nơi khác mà chúng tôi đã gặp (canceled)trạng thái là trong cấu hình sai chứng chỉ TLS cụ thể. Nếu một trang web https://www.example.comđược định cấu hình sai sao cho chứng chỉ không bao gồm www.nhưng hợp lệ https://example.com, chrome sẽ hủy yêu cầu này và tự động chuyển hướng đến trang web sau. Đây không phải là trường hợp của Firefox.

Ví dụ hiện tại hợp lệ: https://www.pthree.org/


về cơ bản bạn có thể chuyển hướng từ tên miền không chứng chỉ sang tên chứng chỉ không? từ trần truồng đến www? hoặc bạn luôn thấy bị hủy hoặc lỗi chứng chỉ?
Konstantin Vahrushev

3

Một yêu cầu bị hủy đã xảy ra với tôi khi chuyển hướng giữa các trang an toàn và không bảo mật trên các tên miền riêng biệt trong iframe. Yêu cầu được chuyển hướng hiển thị trong các công cụ dev dưới dạng yêu cầu "đã hủy".

Tôi có một trang với iframe chứa biểu mẫu được lưu trữ bởi cổng thanh toán của tôi. Khi biểu mẫu trong iframe được gửi, cổng thanh toán sẽ chuyển hướng trở lại một URL trên máy chủ của tôi. Chuyển hướng gần đây đã ngừng hoạt động và kết thúc như một yêu cầu "bị hủy" thay vào đó.

Có vẻ như Chrome (Tôi đang sử dụng Windows 7 Chrome 30.0.1599.101) không còn cho phép chuyển hướng trong iframe đi đến một trang không an toàn trên một tên miền riêng. Để khắc phục, tôi chỉ đảm bảo mọi yêu cầu được chuyển hướng trong iframe luôn được gửi đến các URL an toàn.

Khi tôi tạo một trang thử nghiệm đơn giản hơn chỉ với iframe, có một cảnh báo trong bảng điều khiển (mà trước đây tôi đã bỏ lỡ hoặc có thể không hiển thị):

[Blocked] The page at https://mydomain.com/Payment/EnterDetails ran insecure content from http://mydomain.com/Payment/Success

Chuyển hướng đã biến thành một yêu cầu bị hủy trong Chrome trên PC, Mac và Android. Tôi không biết liệu nó có cụ thể đối với thiết lập trang web của tôi không (SagePay Low Profile) hoặc nếu có gì đó đã thay đổi trong Chrome.


Tôi thấy hành vi gần như giống hệt nhau trong Chrome 30 khi sử dụng dịch vụ thanh toán được lưu trữ trên Datacash, nhưng trong trường hợp của tôi, POST từ trang web 3dsecure đến trang Datacash bị hủy, mặc dù cả hai đều là https. Nó đang chứng tỏ là một điều gì đó bí ẩn.
Jason

2

Chrome Phiên bản 33.0.1750.154 m luôn hủy tải hình ảnh nếu tôi đang sử dụng Mô phỏng di động chỉ vào localhost của tôi; đặc biệt với User Agent giả mạo trên (so với chỉ Cài đặt màn hình).

Khi tôi tắt giả mạo Tác nhân người dùng; yêu cầu hình ảnh không bị hủy, tôi thấy những hình ảnh.

Tôi vẫn không hiểu tại sao; trong trường hợp trước, khi yêu cầu bị hủy, Tiêu đề yêu cầu (THẬN TRỌNG: Tiêu đề tạm thời được hiển thị) chỉ có

  • Chấp nhận
  • Kiểm soát bộ nhớ cache
  • Thực dụng
  • Người giới thiệu
  • Đại lý người dùng

Trong trường hợp sau, tất cả những người đó cộng với những người khác như:

  • Bánh quy
  • Kết nối
  • Tổ chức
  • Mã hóa chấp nhận
  • Ngôn ngữ chấp nhận

Nhún vai


2

Tôi đã gặp lỗi này trong Chrome khi tôi chuyển hướng qua JavaScript:

<script>
    window.location.href = "devhost:88/somepage";
</script>

Như bạn thấy tôi đã quên 'http: //' . Sau khi tôi thêm nó, nó hoạt động.


2

Đối với trường hợp của tôi, tôi đã có một neo với sự kiện nhấp chuột như

<a href="" onclick="somemethod($index, hour, $event)">

Bên trong nhấp chuột sự kiện tôi đã có một số cuộc gọi mạng, Chrome hủy yêu cầu. Neo có hrefvới ""phương tiện, nó tải lại trang và đồng thời nó có nhấp kiện với cuộc gọi mạng đó được hủy bỏ. Bất cứ khi nào tôi thay thế hrefbằng void như

<a href="javascript:void(0)" onclick="somemethod($index, hour, $event)">

Vấn đề đã biến mất!


2

Đây là một trường hợp yêu cầu khác bị hủy bởi chrome, mà tôi vừa gặp phải, không được bao gồm trong bất kỳ câu trả lời nào trên đó.

Tóm lại
, chứng chỉ tự ký không được tin cậy trên điện thoại Android của tôi.

Chi tiết
Chúng tôi đang trong giai đoạn phát triển / gỡ lỗi. Các url đang trỏ đến một máy chủ tự ký. Mã này giống như:

location.href = 'https://some.host.com/some/path'

Chrome chỉ hủy yêu cầu một cách im lặng, không để lại manh mối cho người mới phát triển web như tôi để khắc phục sự cố. Khi tôi tải xuống và cài đặt chứng chỉ bằng điện thoại Android, vấn đề không còn nữa.


2

Nếu bạn sử dụng một số yêu cầu HTTP dựa trên có thể quan sát được như các yêu cầu tích hợp trong Angular (2+), thì yêu cầu HTTP có thể bị hủy khi hủy bỏ có thể quan sát được (điều phổ biến khi bạn sử dụng switchMaptoán tử RxJS 6 để kết hợp các luồng) . Trong hầu hết các trường hợp, đủ để sử dụng mergeMaptoán tử thay thế, nếu bạn muốn yêu cầu hoàn thành.


1

Tôi đã có cùng một thứ với hai tệp CSS được lưu trữ trong một thư mục khác bên ngoài thư mục css chính của tôi. Tôi đang sử dụng Expression Engine và thấy rằng vấn đề nằm ở quy tắc trong tệp htaccess của tôi. Tôi chỉ cần thêm thư mục vào một trong những điều kiện của tôi và nó đã sửa nó. Đây là một ví dụ:

RewriteCond %{REQUEST_URI} !(images|css|js|new_folder|favicon.ico)

Vì vậy, có thể đáng để bạn kiểm tra tệp htaccess của mình xem có bất kỳ xung đột tiềm năng nào không


1

Tôi đã nhúng tất cả các loại phông chữ cũng như woff , woff2 , ttf khi tôi nhúng một phông chữ web trong biểu định kiểu. Gần đây tôi nhận thấy rằng Chrome hủy yêu cầu ttfwoff khi có woff2 . Tôi sử dụng Chrome phiên bản 66.0.3359.181 ngay bây giờ nhưng tôi không chắc chắn khi Chrome bắt đầu hủy các loại phông chữ bổ sung.


1

Chúng tôi đã có vấn đề này khi có thẻ <button>trong biểu mẫu, được cho là gửi yêu cầu ajax từ js. Nhưng yêu cầu này đã bị hủy, do trình duyệt, tự động gửi biểu mẫu trên bất kỳ nhấp chuột nào vào buttonbên trong biểu mẫu.

Vì vậy, nếu bạn thực sự muốn sử dụng button thay vì thông thường divhoặc spantrên trang và bạn muốn gửi mẫu ném js - bạn nên thiết lập một trình nghe có preventDefaultchức năng.

ví dụ

$('button').on('click', function(e){

    e.preventDefault();

    //do ajax
    $.ajax({

     ...
    });

})

0

xảy ra với tôi như vậy khi gọi a. tập tin js với $. ajax và thực hiện một yêu cầu ajax, những gì tôi đã làm là gọi bình thường.


0

Trong trường hợp của tôi, mã để hiển thị cửa sổ ứng dụng email khách đã khiến Chrome ngừng tải hình ảnh:

document.location.href = mailToLink;

di chuyển nó đến $ (window) .load (function () {...}) thay vì $ (function () {...}) đã giúp.


0

Điều này có thể giúp bất cứ ai tôi gặp tình trạng bị hủy khi tôi rời khỏi trả lại sai; theo mẫu nộp. Điều này gây ra việc gửi ajax ngay lập tức theo sau là hành động gửi, ghi đè lên trang hiện tại. Mã được hiển thị dưới đây, với kết quả trả về quan trọng là sai ở cuối.

$('form').submit(function() {

    $.validator.unobtrusive.parse($('form'));
    var data = $('form').serialize();
    data.__RequestVerificationToken = $('input[name=__RequestVerificationToken]').val();

    if ($('form').valid()) {
        $.ajax({
            url: this.action,
            type: 'POST',
            data: data,
            success: submitSuccess,
            fail: submitFailed
        });
    }
    return false;       //needed to stop default form submit action
});

Hy vọng rằng sẽ giúp được ai đó.


0

Đối với bất kỳ ai đến từ LoopbackJS và cố gắng sử dụng phương thức luồng tùy chỉnh như được cung cấp trong ví dụ biểu đồ của họ. Tôi đã gặp lỗi này khi sử dụng PersistedModel, chuyển sang một lỗi cơ bản đã Modelkhắc phục sự cố của tôi vềeventsource hủy trạng thái .

Một lần nữa, điều này là đặc biệt cho api loopback. Và vì đây là câu trả lời hàng đầu và hàng đầu trên google nên tôi nghĩ rằng tôi sẽ đưa câu trả lời này vào hỗn hợp các câu trả lời.


0

Tôi đã phải đối mặt với cùng một vấn đề, ở đâu đó sâu trong mã của chúng tôi, chúng tôi đã có mã giả này:

  • tạo một iframe
  • tải của iframe gửi biểu mẫu

  • Sau 2 giây, xóa iframe

do đó, khi máy chủ mất hơn 2 giây để phản hồi iframe mà máy chủ đang viết phản hồi, đã bị xóa, nhưng phản hồi vẫn được ghi, nhưng không có iframe để viết, do đó chrome đã hủy yêu cầu, do đó để tránh điều này, tôi đã đảm bảo rằng iframe chỉ bị xóa sau khi phản hồi kết thúc hoặc bạn có thể thay đổi mục tiêu thành "_blank". Do đó, một trong những lý do là: khi tài nguyên (iframe trong trường hợp của tôi) mà bạn đang viết gì đó, bị xóa hoặc xóa trước khi bạn ngừng viết vào đó, yêu cầu sẽ bị hủy


0

Đối với tôi, trạng thái 'bị hủy' là do tệp không tồn tại. Lạ tại sao chrome không hiển thị 404.


0

Nó đơn giản như một con đường không chính xác đối với tôi. Tôi muốn đề xuất bước đầu tiên trong việc gỡ lỗi sẽ là xem bạn có thể tải tệp độc lập với ajax không, v.v.


0

Các yêu cầu có thể đã bị chặn bởi một plugin bảo vệ theo dõi.


0

Nó đã xảy ra với tôi khi tải 300 hình ảnh làm hình nền. Tôi đoán một khi lần đầu tiên hết thời gian, nó đã hủy tất cả phần còn lại hoặc đạt yêu cầu đồng thời tối đa. cần thực hiện 5 lần một lúc


0

Một trong những lý do có thể là XMLHttpRequest.abort () được gọi ở đâu đó trong mã, trong trường hợp này, yêu cầu sẽ có cancelledtrạng thái trong tab Mạng của công cụ Chrome Developer.


0

Trong trường hợp của tôi, nó bắt đầu đến sau khi cập nhật chrome 76.

Do một số vấn đề trong mã JS của tôi, window.location đã được cập nhật nhiều lần dẫn đến việc hủy yêu cầu trước đó. Mặc dù vấn đề đã có từ trước đó, chrome đã bắt đầu hủy yêu cầu sau khi cập nhật lên phiên bản 76.


0

Tôi đã có cùng một vấn đề khi cập nhật một hồ sơ. Bên trong save () tôi đã chuẩn bị rawdata được lấy từ biểu mẫu để khớp với định dạng cơ sở dữ liệu (thực hiện nhiều ánh xạ các giá trị enums, v.v.) và điều này không liên tục hủy yêu cầu đặt. tôi đã giải quyết nó bằng cách lấy ra dữ liệu chuẩn bị từ phương thức save () và tạo ra một phương thức dataPrep () chuyên dụng từ nó. Tôi đã biến dataPrep này thành async và chờ tất cả các chuyển đổi dữ liệu cần nhiều bộ nhớ. Sau đó tôi trả lại dữ liệu được chuẩn bị sẵn cho phương thức save () mà tôi có thể sử dụng trong ứng dụng http put client. Tôi chắc chắn rằng tôi đang chờ đợi trên dataPrep () trước khi gọi phương thức put:

đang chờ dataToUpdate = đang chờ dataPrep (); http.put (apiUrl, dataToUpdate);

Điều này đã giải quyết việc hủy yêu cầu không liên tục.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.