2017-02-11 16 views
20

Tôi đang sử dụng CORS để tìm nạp một số dữ liệu từ API. Tất cả đều hoạt động tốt cho đến khi bản cập nhật Chrome được khởi chạy cách đây một ngày.Chrome, không có dữ liệu phản hồi sau khi OPTIONS yêu cầu?

Bây giờ sau khi OPTIONS yêu cầu yêu cầu tiếp theo luôn trả về mà không có dữ liệu phản hồi.

Nếu tôi nhấp vào nút nhanh gấp hai lần nút này sẽ hiển thị trên yêu cầu thứ hai (cùng một yêu cầu) vì nó không thực hiện cuộc gọi trước chuyến bay.

Tôi đã cài đặt lại và vô hiệu hóa tất cả tiện ích mở rộng, không biết điều gì đang xảy ra ở đây.

Có ai khác đang gặp phải điều này không?

EDIT lưu ý rằng không có phản hồi nào trực tiếp từ trình tìm kiếm. Nó chỉ là một cuộc gọi Ajax. Và mặc dù nó không hiển thị bất kỳ dữ liệu phản hồi nào, tất cả đều hoạt động chính xác. Ví dụ: nếu tôi thực hiện một console.log(res) trong mã, tất cả đều tốt. Chrome hoàn toàn không hiển thị bất kỳ phản hồi nào và tuân thủ nghiêm ngặt yêu cầu OPTIONS (CORS).

EDIT Cũng lưu ý rằng mọi thứ đang hoạt động và hiển thị hoàn toàn tốt trong Firefox/Firebug.

EDIT Chrome Version 56.0.2924.87 (64-bit)

EDIT Tôi chỉ bị mất ở đây. Ứng dụng này hoạt động hoàn toàn tốt, vì vậy nó làm cho một chút khó khăn để thậm chí biết được nơi để sao gỡ lỗi. Nó dường như xảy ra theo đúng nghĩa đen vào ngày sau khi Chrome bật lên một biểu tượng cập nhật màu xanh lục. Sau khi cập nhật, tôi đã thấy không.

Tôi đã kiểm tra một số ứng dụng khác của mình và thực sự nó hoạt động ở đó! Vì vậy, tôi đã nghĩ rằng nó có thể liên quan đến một số kết hợp của plugin/Chrome không chơi độc đáo. Tôi đã cố gắng quay trở lại rất nhiều phiên bản nhưng không may mắn. Điều kỳ lạ là nó chỉ tuân theo yêu cầu OPTIONS. Tôi đoán nó là một cái gì đó đơn giản như một loại mã hóa, nhưng không có ý tưởng ở đâu.

EDIT Cũng cố gắng sau một số nhà lãnh đạo ở đây không có may mắn: View AJAX response content in Chrome developer tools?

EDIT tôi đã có thể để thu hẹp này xuống đến một vấn đề với plugin vue-tài nguyên. Hoạt động tốt với các trục. Fiddle ở đây: https://jsfiddle.net/tpnucv5m/

+0

Bạn đã kiểm tra trong DevTools console để xem những gì đang được đăng nhập ở đó? Ngoài ra, nó có thể giúp bạn nếu bạn có thể đăng một số mã có thể được sử dụng để tái tạo sự cố. – sideshowbarker

+0

Không có phản hồi nào trực tiếp từ trình tìm kiếm. Nó chỉ là một cuộc gọi Ajax.Và mặc dù nó không hiển thị bất kỳ dữ liệu phản hồi nào, tất cả đều hoạt động chính xác. Ví dụ, nếu tôi làm một 'console.log (res)' nó là tất cả tốt. Chrome hoàn toàn không hiển thị bất kỳ phản hồi nào và tuân thủ nghiêm ngặt yêu cầu OPTIONS (CORS). – Rob

+0

Phiên bản Chrome nào? (Vui lòng xem xét chỉnh sửa câu hỏi của bạn để thêm phiên bản chính xác từ chrome: // chrome /) – sideshowbarker

Trả lời

12

Khắc phục nhanh, cho đến khi các mô-đun được cập nhật, là nhận xét ra dòng này trong dist/vue-resource.common.js:

xhr.responseType = 'blob';

Nó có thể trong ngưỡng xung quanh dòng ~ 1054

+0

Điều này làm việc cho tôi. Đang chờ cập nhật mô-đun để khắc phục đúng cách. –

+2

Điều này có vẻ là câu trả lời. Tôi đã tạo ra một vấn đề đã có với guy pagekit, nhưng không chắc chắn nếu điều này là nhận được thực hiện được nêu ra. https://github.com/pagekit/vue-resource/issues/566 – Rob

5

Tôi biết đây không phải là giải pháp (không upvote), nhưng phải nhấp vào OPTIONS XHR và REPLAY XHR. Nó sẽ gửi lại cuộc gọi Ajax và bây giờ sẽ có một câu trả lời.

Tôi cho rằng có một số vấn đề không đồng bộ với plugin.

+0

Tốt, cũng có tùy chọn "sao chép dưới dạng curl" và sau đó dán vào dòng lệnh. – pdem

Các vấn đề liên quan