Android cordova无访问控制允许原点
我有一个webapi项目(.net mvc webapi),它返回一些用json/xml包装的数据,因此我的cordova项目向特定的api地址发送请求以获取数据,但我得到一个访问错误,如下所示: 访问位于的XMLHttpRequest "来源" “null”已被CORS策略阻止:否 “Access Control Allow Origin”标头出现在请求的服务器上 资源 js代码Android cordova无访问控制允许原点,android,cordova,asp.net-web-api,xmlhttprequest,Android,Cordova,Asp.net Web Api,Xmlhttprequest,我有一个webapi项目(.net mvc webapi),它返回一些用json/xml包装的数据,因此我的cordova项目向特定的api地址发送请求以获取数据,但我得到一个访问错误,如下所示: 访问位于的XMLHttpRequest "来源" “null”已被CORS策略阻止:否 “Access Control Allow Origin”标头出现在请求的服务器上 资源 js代码 const Http = new XMLHttpRequest(); const url='https://06a
const Http = new XMLHttpRequest();
const url='https://06ae934f.ngrok.io/api/Catalog/get_catalogs';
Http.open("GET", url);
Http.send();
Http.onreadystatechange = (e) => {
alert(Http.responseText)
}
config.xml
<?xml version='1.0' encoding='utf-8'?>
<widget id="org.test.test" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Catalog</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
Apache Cordova Team
</author>
<content src="index.html" />
<plugin name="cordova-plugin-whitelist" spec="1" />
<access origin="*" />
<allow-navigation href="*"/>
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<access origin="https://06ae934f.ngrok.io"/>
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
</widget>
目录
响应deviceready事件的Apache Cordova应用程序示例。
阿帕奇科尔多瓦团队
您应该将其添加到webApi项目的web.config中:
<system.webServer>
<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>
</system.webServer>
这可能是一个类似的问题。