.net “无法在发布的Web API上发布数据”–405(不允许使用此方法)
我使用angular 7,当我从本地机器将数据发布到web api时,它会工作,但当我在服务器上发布相同的web api时,我可以从api获取数据,但我无法发布数据。 我得到了CORS的错误 面对这个问题,WEB API是如何在服务器上发布的 我已经安装了CROS nuget软件包,但仍然无法解决这个问题 我尝试了web api更改,也安装了CORS包,还尝试了Angular中的代理配置,但它不起作用 错误:已被CORS策略阻止:请求的资源上不存在“Access Control Allow Origin”标头.net “无法在发布的Web API上发布数据”–405(不允许使用此方法),.net,iis,cors,web-config,.net,Iis,Cors,Web Config,我使用angular 7,当我从本地机器将数据发布到web api时,它会工作,但当我在服务器上发布相同的web api时,我可以从api获取数据,但我无法发布数据。 我得到了CORS的错误 面对这个问题,WEB API是如何在服务器上发布的 我已经安装了CROS nuget软件包,但仍然无法解决这个问题 我尝试了web api更改,也安装了CORS包,还尝试了Angular中的代理配置,但它不起作用 错误:已被CORS策略阻止:请求的资源上不存在“Access Control Allow Or
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS" />
</customHeaders>
</httpProtocol>
为Google Chrome浏览器下载此文件,并在点击本地主机时启用CORS。它应该解决这个问题
您可以阅读有关此错误原因的更多信息
可能导致此问题的事项:
从本地提供的文件命中服务器,从file:///YourApp/index.html 到
将请求从发送到的外部API。
将请求从发送到的内部API。
在同一主机上点击不同端口webapp打开时,API为
通过http从https请求,反之亦然,从
我已经用proxy.conf.js代替了
proxy.conf.json文件。在src文件夹中创建proxy.conf.js文件。和
在proxy.conf.js中编写如下代码
并将angular.json文件更改为
响应的HTTP状态代码是什么?您可以使用浏览器devtools中的网络窗格进行检查。这是4xx还是5xx错误,而不是200 OK成功响应?您好,我收到此错误:405方法不允许从源站访问XMLHttpRequest已被CORS策略阻止:请求的资源上不存在“访问控制允许源站”标头。这是对选项请求的响应,对吗?它指示的服务器http://10.1.5.13:9007/Api/Employee/UpdateEmployeeDetails/ 终结点未配置为允许选项请求。这与CORS配置不同。对于选项类型请求,我在应用程序_BeginRequest方法的web api的global.asax文件中的代码如下所示,if request.HttpMethod==OPTIONS{Response.StatusCode=intSystem.Net.HttpStatusCode.OK;Response.End;}但这也不起作用。谢谢回复。我也尝试过用于Chrome的CORS插件,但它也不起作用。
var HttpsProxyAgent = require('https-proxy-agent');
var proxyConfig = [{
context: '/api',
"target": "http://10.1.5.13:9007",
secure: false
}];
function setupForCorporateProxy(proxyConfig) {
var proxyServer = process.env.http_proxy || process.env.HTTP_PROXY;
if (proxyServer) {
var agent = new HttpsProxyAgent(proxyServer);
console.log('Using corporate proxy server: ' + proxyServer);
proxyConfig.forEach(function(entry) {
entry.agent = agent;
});
}
return proxyConfig;
}
module.exports = setupForCorporateProxy(proxyConfig);
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "AngularTestApp:build",
"proxyConfig": "src/proxy.conf.js"
}
Run NPM start after doing all changes.