Tôi có một ứng dụng web sử dụng MVC và AngularJS, kết nối với api Web API 2 mà tôi đã thiết lập trong một dự án riêng biệt.HTTP Post to Web API 2 - Yêu cầu tùy chọn đã nhận và xử lý không yêu cầu thêm
Hiện tại tôi có thể truy xuất thông tin từ Api mà không gặp vấn đề gì.
Tuy nhiên khi tôi cố gắng đăng bài HTTP, tôi không nhận được phản hồi, ban đầu tôi gặp sự cố với yêu cầu trước chuyến bay, tôi đã xử lý yêu cầu này trong bộ điều khiển của mình, tuy nhiên nó không gửi yêu cầu thích hợp sau khi nó đã nhận được một tin nhắn OK trở lại.
Tôi đã bao gồm mã của mình cho Nhà máy góc và Bộ điều khiển C# trong API.
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class RegisterController : ApiController
{
public string Post()
{
return "success";
}
public HttpResponseMessage Options()
{
return new HttpResponseMessage { StatusCode = HttpStatusCode.OK };
}
}
var RegistrationFactory = function($http, $q, ApiAddress) {
return function(model) {
// $http.post(ApiAddress.getApiAddress() + '/Register/Post', model.ToString());
$http({
method: "POST",
url: ApiAddress.getApiAddress() + '/Register/Post',
data: model,
headers: { 'Content-Type': 'application/json; charset=utf-8' }
}).success(function(data) {
$location.path("/");
});
}
};
RegistrationFactory.$inject = ['$http', '$q', 'ApiAddress'];
Edit:
tôi vẫn không có bất cứ niềm vui với điều này, tuy nhiên tôi đã thử nghiệm trong Internet Explorer và nó hoạt động không có vấn đề gì cả.
Tôi đã làm việc trong Chrome bằng cách bắt đầu với bảo mật web bị vô hiệu hóa, tuy nhiên rõ ràng đây không phải là lý tưởng vì nó sẽ không hoạt động trên máy tính người dùng có bảo mật được bật.
Tính năng này có hoạt động trong Firefox không? – DermFrench
Có, tôi nghĩ rằng đó là vấn đề liên quan đến bảo mật trong Chrome. –
Bạn đã thử xuất bản lên một miền, ví dụ: web.domain.com và api.domain.com để xem liệu nó có hoạt động khi chúng ở trên cùng một tên miền không? – DermFrench