gpt4 book ai didi

c# - HTTP 发布到 Web API 2 - 选项请求已收到并已处理未收到进一步的请求

转载 作者:可可西里 更新时间:2023-11-01 03:02:11 30 4
gpt4 key购买 nike

我有一个使用 MVC 和 AngularJS 的 Web 应用程序,它连接到我在一个单独的项目中设置的 Web API 2 api。

目前我可以毫无问题地从 Api 检索信息。

然而,当我尝试做一个 HTTP Post 时,我没有得到任何响应,最初我遇到了飞行前请求失败的问题,我现在已经在我的 Controller 中处理了这个问题,但是它在之后没有发送正确的请求它收到了一条 OK 消息。

我已经在 API 中包含了 Angular 工厂和 C# Controller 的代码。

[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'];

编辑:

我对此仍然不满意,但是我在 Internet Explorer 中进行了测试,它完全没有问题。

我在 chrome 中从禁用网络安全开始,但显然这并不理想,因为它无法在启用安全的用户 PC 上运行。

最佳答案

我看到你们在服务端做了CORS的适配。但我看不到任何客户端(javascript)改编。可能您应该在调用服务之前添加以下代码。

$http.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];

如果这能解决问题,请告诉我。在所有情况下都为我工作:)

关于c# - HTTP 发布到 Web API 2 - 选项请求已收到并已处理未收到进一步的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30889391/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com