Tôi đang truy vấn một dịch vụ web REST sử dụng tiêu đề http tùy chỉnh để xác thực.
Nếu tôi thực hiện POST mà không có tiêu đề, tôi nhận được lỗi dự kiến, nhưng khi tôi thêm tiêu đề, tôi nhận được lỗi 404 thay vì những gì tôi thực sự cần.
Đây là mã của tôi
$.ajax({
type: 'POST',
url: 'http://server.com/service',
beforeSend: function (xhr) { xhr.setRequestHeader('CUSTOM-HEADER-KEY', 'CUSTOM-HEADER-VALUE') },
success: function(data) {
alert('success.');
}
});
Đây là firebug tiêu đề ra:
OPTIONS/dịch vụ HTTP/1.1 Host: server.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv: 8.0.1) Gecko/20100101 Firefox/8.0.1 Chấp nhận: văn bản/html, ứng dụng/xhtml + xml, ứng dụng/xml; q = 0,9, /; q = 0,8 Accept-Language: en-us, en; q = 0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Kết nối: giữ -alive xuất xứ: null Access-Control-Yêu cầu-Phương pháp: POST Access-Control-Yêu cầu-Headers: tùy chỉnh-header-key pragma: no-cache Cache-Control: no-cache
và tiêu đề smae khi thực hiện bài đăng có áp phích, trả về kết quả mong muốn.
POST/dịch vụ HTTP/1.1 Host: server.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv: 8.0.1) Gecko/20.100.101 Firefox/8.0.1 Chấp nhận: text/html, application/xhtml + xml, application/xml; q = 0.9, /; q = 0.8 Accept-Language: en-us, en; q = 0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Kết nối: giữ sống TÙY CHỌN-HEADER-KEY: CUSTOM-HEADER-VALUE pragma: no-cache Cache-Control: no-cache Content-Length: 0
Sự khác biệt là khá rõ ràng, nhưng tôi không biết những gì tôi đang làm sai trong đoạn code jquery.
Có ai giúp tôi không?
bạn đang gửi tin nhắn này yêu cầu 'POST' trên máy chủ? – Blender
Máy xay sinh tố đang đi đúng hướng. Điều này rất có thể là do vi phạm sandbox. Truy cập dịch vụ VIA jsonp hoặc sử dụng máy chủ của bạn làm proxy cho dịch vụ. – John
"và tiêu đề smae khi thực hiện bài đăng có áp phích" .. "POSTER" là gì? – humblelistener