如何解决延迟铁 - 阿贾克斯反应

时间:2018-02-08 16:49:56

标签: ajax iis cors polymer timeout

我正在尝试删除此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")

1 个答案:

答案 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" 标题,以便您的应用可以读取数据。