01/10/2018, 11:42
Hỏi về fetch trong javascript?
fetch("http://tratu.soha.vn/dict/en_vn/Manipulate", myInit).then(function(response){
return response.text();
}).then(function(response){
console.log(respone);
}).catch(function(err){
console.log("lỗi "+ err);
});
em viết như này để get html từ một đường link mà nó bị block ?
Bài liên quan
Đổi thành https đi.
https://tratu.soha.vn/dict/en_vn/Manipulate
Mà hình như tratu không có cho Cross Origin Request Sharing nên có đổi thành HTTPS chỉ giải quyết được một lỗi, cuối cùng vẫn không request được.
Block thế nào thì phải nói, k post lỗi thì giống như đi bệnh viện bảo e bị đau, mà k biết đau chỗ nào.
Hầu như chạy ajax bằng JS từ browser đều bị lỗi CORS hết (Not allowed…). Rõ ràng query từ trang của người khác thì bạn không thể whilist domain của bạn được nên cách giải quyết là
tratu.soha.vn
) rồi gõ code thôiSnippets
, ở tabSources
, viết code vào đó cũng đc.Nếu muốn chạy riêng 1 file .js khác thì có thể dùng 1 trong các cách sau
Fetch
hayXMLHttpRequest
, thì cũng đều gặp vấn đề này nhé, bởi lẽ 2 cái đó chỉ làcông cụ
để thực thi request, còn bản chất bị block là domôi trường
nên bạn có dùng Ajax của jQuery hay libs khác thì cũng thế thôi. Vậy nên mình mới giới thiệu các phương án tiếp cận ở trên.em cảm ơn em hiểu rồi tks anh
fetch
có tùy chọn cho phép query cross domain luônBạn chạy đoạn code trên dưới console nó cũng trả về kết quả đấy, trong khi bỏ cái
no-cors
thì bị block như cũ.