好的,我有3台服务器需要一起通信才能获得GET请求。但我不断得到原点缺失错误,我可以看到我想在邮递员中收到的信息(所以我知道我的网址和传递信息的工作原理)。
JQuery
function GetData(nummer, insz) {
showLoader(true);
var func = function (host) {
$.ajax({
type: "GET",
url: host + "/api/GetList/" + number + "/" + version + "/" + typeId + "/" + extraPriority,
error: function () { alert('ERROR'); showLoader(false); showEmptyTableMessage(true); }
}).then(function (data) {
drawTable(data);
showLoader(false);
});
};
func(URLTOSERVER);
FindServerUrlAsync(func);
}
function FindServerUrlAsync(callback) {
$.ajax({
type: "GET",
url: "/settings/ServerType"
}).then(function (serverType) {
var isDmz = (serverType === 'Dmz');
if (isDmz) {
$.ajax({
type: "GET",
url: "/settings/ServerUrl"
}).then(function (serverUrl) {
callback(serverUrl);
});
} else {
callback("");
}
});
}
第二台服务器进入一个asp.net应用程序控制器(mvc),它使用来自数据库的httpclient的异步请求。
的web.config
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
</customHeaders>
</httpProtocol>
ASP.NET启动
var corsBuilder = new CorsPolicyBuilder();
corsBuilder.AllowAnyHeader();
corsBuilder.AllowAnyMethod();
corsBuilder.AllowAnyOrigin();
corsBuilder.AllowCredentials();
services.AddCors(options =>
{
options.AddPolicy("AllowAll", corsBuilder.Build());
});
app.UseCors("AllowAll");
请求仅在不同的方法/操作(显然是服务器)中进入相同的asp.net应用程序控制器。 web.config没有httprotocol(因为我已经意识到它是不必要的)。
我一直在看这个问题。但我似乎无法让它发挥作用。
被修改