使用dropzone时,请求的资源上不存在“Access-Control-Allow-Origin”标头

时间:2017-01-05 02:35:46

标签: cors dropzone.js

Access-Control-Allow-Headers:Content-Type, X-Auth-Token, Origin, X-Requested-With, Cache-Control, X-File-Name
Access-Control-Allow-Methods:POST, GET, OPTIONS, PUT, DELETE
Access-Control-Allow-Origin:*

如果我手动使用ajax向同一网址发送post请求,则这是响应标头的一部分。

但是当Dropzone发送请求时,响应头中没有这些行。 我得到的错误:

  

XMLHttpRequest无法加载http://192.168.1.114:8080/api/files。   对预检请求的响应未通过访问控制检查:否   请求中存在“Access-Control-Allow-Origin”标头   资源。因此不允许来源“http://192.168.1.114”   访问。

知道如何解决这个问题吗?

Dropzone的请求标头的一部分:

Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-GB,en;q=0.8,en-US;q=0.6,zh-CN;q=0.4,zh;q=0.2,zh-TW;q=0.2
Access-Control-Request-Headers:cache-control, x-requested-with
Access-Control-Request-Method:POST

1 个答案:

答案 0 :(得分:0)

设置Cache-Control标头解决了问题。 此外,当credentials标志为true时,不允许在Access-Control-Allow-Origin中使用通配符。

dropzoneConfig: DropzoneConfigInterface = {
    url: your_url
    method: "POST",
    withCredentials: false,
    headers: {
      "Cache-Control": "",
    }
  };