我正在尝试删除此AJAX请求中的错误。运行此AJAX调用时,它会快速加载模板,但过了一段时间(我认为超时),会将以下错误记录到控制台。
无法加载https://api/endpoint:
No' Access-Control-Allow-Origin'标头出现在请求的资源上 起源' https://internal.msmni.com'因此不允许访问。
该应用程序托管在app.domain.com
的IIS上,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&amp; 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")
答案 0 :(得分:1)
错误Access-Control-Allow-Origin: app.domain.com
表示您的api未在响应中设置 defaultConfig {
applicationId "com.example.networksecurity"
minSdkVersion 24
targetSdkVersion 27
versionCode 1
versionName "1.0"
//testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
标头,因为服务器需要返回该标头以允许违反同源策略(它是不能在请求中使用它)请参阅:https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
因此,您的API应设置stack ghci --profile app --ghci-options "-fexternal-interpreter -prof"
标题,以便您的应用可以读取数据。