我正在尝试删除此AJAX请求中的错误。运行此AJAX调用时,它会迅速加载模板,但是一段时间后(我认为超时(,以下错误已记录到控制台。
无法加载https://api/endpoint:
在请求的资源上没有"访问控制"标头。
因此,不允许访问原点" https://internal.msmni.com"。
该应用程序托管在IIS上的app.domain.com
,API端点位于api.domain.com
。
<iron-ajax id="ajaxCustomers"
url="https://api/endpoint"
method="post"
handle-as="json"
content-type="application/json"
body="[[request]]"
last-response="{{response}}"
loading="{{loading}}"
headers="Access-Control-Allow-Origin"></iron-ajax>
...
<template is="dom-repeat" items="[[response]]" as="item">
<p>[[customer]]</p>
</template>
是否有一种方法可以正确设置标头和/或配置服务器以删除此错误?
P.S。
我正在使用Node的Express,并且在server.js
文件中有以下设置。
res.header("Access-Control-Allow-Origin", "*")
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, content-type, Accept, Authorization, x-api-key")
错误 No 'Access-Control-Allow-Origin' header
表示您的API未在响应中设置Access-Control-Allow-Origin
标头,因为服务器需要返回该响应以允许破坏相同的原始策略(它不是Enogh要在请求中进行(请参见:https://developer.mozilla.org/en-us/docs/web/http/cors
因此,您的API应该设置像Access-Control-Allow-Origin: app.domain.com
这样的标头,以便您的应用程序可以读取数据。