尽管尽我所能,但我无法将带有Json数据的Ajax请求发送到远程Web服务器。我不知道其他什么地方我可以启用CORS并且我的想法已经用完了。
Azure网站应用设置:
cors:allowOrigins: *
MVC控制器:我安装了NuGet Cors软件包
[EnableCors(origins: "*", headers: "*", methods: "*")]
的Web.config:
<httpProtocol>
<customHeaders>
<clear />
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
ExtJs Ajax请求:
Ext.Ajax.request({
url: app.utilities.url,
defaultHeaders: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE,OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type, Authorization,Content-Length, X-Requested-With'
},
cors: true,
useDefaultXhrHeader: false,
params: {
jsonData: Ext.util.JSON.encode(formData)
}
但我仍然得到: 跨源请求已阻止:同源策略禁止在{my url}读取远程资源。可以通过将资源移动到同一域或启用CORS来修复此问题。
我有什么遗失的吗?
答案 0 :(得分:0)
仅针对开发目的,您可以在浏览器中设置以下参数。这对我有用。
- disable-web-security --allow-file-access-from-files --allow-file-access
答案 1 :(得分:0)
你会考虑JsonP(带填充的JSON)吗?