Jquery 对.NET核心API的AJAX调用失败
我对.NET核心应用程序的AJAX调用不起作用。在localhost上,一切正常,但是在将应用程序发布到我的服务器后,AJAX调用出现CORS策略错误: “Access Control Allow Origin”标头包含多个值“*,*”,但只允许一个值 当我使用邮递员时,呼叫成功。这个问题与服务器端还是客户端有关 我已经试着检查了CORS策略,AJAX中的头文件,一切似乎都正常Jquery 对.NET核心API的AJAX调用失败,jquery,ajax,asp.net-core-2.0,Jquery,Ajax,Asp.net Core 2.0,我对.NET核心应用程序的AJAX调用不起作用。在localhost上,一切正常,但是在将应用程序发布到我的服务器后,AJAX调用出现CORS策略错误: “Access Control Allow Origin”标头包含多个值“*,*”,但只允许一个值 当我使用邮递员时,呼叫成功。这个问题与服务器端还是客户端有关 我已经试着检查了CORS策略,AJAX中的头文件,一切似乎都正常 $.ajax({ url: DashboardController + "GetLoggedInUser",
$.ajax({
url: DashboardController + "GetLoggedInUser",
type: "GET",
"contentType": "application/json; charset=utf-8",
dataType: 'json',
beforeSend: function (xhr, settings) {
xhr.setRequestHeader('Authorization', 'Bearer ' + window.localStorage.authorizationData);
},
success: function (data) {
console.log(data);
SetLoggedInUser(data);
//HFPracticeData.Add("BackEndLogin", "");
//HFPracticeData.Set("BackEndLogin", asd);
//backendLogin.DoClick();
},
服务器端代码(Startup.cs)
不应出现CORS问题 OK找到了解决方案:
问题在于响应标头,因为错误状态为
The 'Access-Control-Allow-Origin' header contains multiple values
'*, *', but only one is allowed.
“Access Control Allow Origin”添加了多次,因此我从IIS服务器站点删除了“Access Control Allow Origin”响应头。现在工作正常。OK找到了解决方案:
问题在于响应标头,因为错误状态为
The 'Access-Control-Allow-Origin' header contains multiple values
'*, *', but only one is allowed.
“Access Control Allow Origin”添加了多次,因此我从IIS服务器站点删除了“Access Control Allow Origin”响应头。现在它可以正常工作了。问题出在您的C#代码中,它正在向响应添加头,而不是JS/jQuery。如果您能向我们展示这些代码,我们可以更有效地帮助您。@Rorymcrossan Postman如何获得良好的响应?因为CORS只适用于基于浏览器的请求。是的,那么我应该分享什么?Startup.cs具有CORS策略设置。我正在添加问题中的代码。您需要添加在响应中放置CORS标题的相关代码。我不知道你的项目在哪里,所以我不能告诉你具体在哪里。问题在于你的C#代码在向响应添加标题,而不是JS/jQuery。如果您能向我们展示这些代码,我们可以更有效地帮助您。@Rorymcrossan Postman如何获得良好的响应?因为CORS只适用于基于浏览器的请求。是的,那么我应该分享什么?Startup.cs具有CORS策略设置。我正在添加问题中的代码。您需要添加在响应中放置CORS标题的相关代码。我不能告诉你那到底在哪里,因为我不知道你的项目。