Tôi đang cố gắng thực hiện yêu cầu POST gốc có sử dụng Angular $ http với mã sau.
//I've tried setting and removing these http config options
$http.defaults.useXDomain = true;
delete $http.defaults.headers.common['X-Requested-With'];
$http.defaults.headers.common['Content-Type'] = 'application/x-www-form-urlencoded';
//Basic request, with some private headers removed
return $http({
method: 'POST',
//withCredentials:true,
headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
params: params,
url: url
});
các tùy chọn theo yêu cầu preflight được một 200 OK
, nhưng POST tiếp theo nhận được một phản ứng 400 Bad Request
. Nhìn vào dấu vết trong cửa sổ gỡ lỗi của Chrome, tôi không thấy tiêu đề Content-Type: application/x-www-form-urlencoded; charset=UTF-8
cho POST. Tôi cho rằng đây là lý do tại sao máy chủ trả về phản hồi Yêu cầu không hợp lệ.
Tôi đang đặt một số tiêu đề tùy chỉnh khác mà tôi đã bỏ qua dưới dạng mã ở trên và chúng đang được gửi và hiển thị tốt.
Tôi cũng nên đề cập rằng tôi có thể đưa ra yêu cầu này bằng ứng dụng Ứng dụng khách nâng cao dành cho Chrome và nhận được phản hồi chính xác. (Mã thông báo truy cập)
Tôi cũng đã thử chỉ thực hiện một XMLHttpRequest thẳng(), nhưng tôi gặp lỗi tương tự.
Bất kỳ thông tin chi tiết nào về lý do tiêu đề Loại nội dung của tôi không được đặt?
Bản sao có thể có của [Góc, loại nội dung không được gửi với $ http] (http://stackoverflow.com/questions/16194442/angular-content-type-is-not-being-sent-with-http) –