Tôi có một kịch bản yêu cầu ajax đến một máy chủ từ xa, trả về một phản hồi văn bản thuần túy. Nó hoạt động tốt trong tất cả các trình duyệt ngoại trừ IE8 (shocker).Máy chủ từ xa Jquery ajax() không hoạt động trong IE8
Dưới đây là các mã:
$.ajax({
url: 'abc.com/?somerequest=somevalue',
cache: false,
type: 'POST',
data:{
sub: 'uploadprogress',
uploadid: this.uploadId
},
dataType: 'html',
success: this.uploadProgressResp,
error: this.errorResp
});
Trong IE8, nó sẽ trả về một lỗi "Không Giao thông vận tải". Tôi cho rằng đó là vì IE8 không cho phép yêu cầu miền chéo?
LƯU Ý: Tôi không viết API cho máy chủ từ xa. Nếu tôi đã làm, tôi sẽ trả về phản hồi JSON thay vì trả lời bằng văn bản thuần túy. Vì vậy, có, dataType được cho là HTML chứ không phải JSON.
rant: Tôi ghét IE và muốn nó sẽ biến mất khỏi mặt đất
Các bạn đã thử JSONP? –
có thể trùng lặp của [$ .ajax gọi làm việc tốt trong IE8 và không hoạt động trong trình duyệt firefox và chrome] (http: // stackoverflow.com/questions/8698682/ajax-call-working-fine-in-ie8-and-doesnt-work-in-firefox-and-chrome-trình duyệt) –
@Diodeus Tôi đã thử JSONP, nhưng nó vẫn mang lại lỗi trong IE8. Câu trả lời là một văn bản chứ không phải JSON, vì vậy tôi không nghĩ nó thích hợp. – peter