No' Access-Control-Allow-Origin'

时间:2017-08-29 13:06:23

标签: node.js vue.js xmlhttprequest

我遇到了这个问题:

  

XMLHttpRequest无法加载   http://localhost:8000/scripts/advaced_donwload/advancedUpload/vueupload/store.php。   No' Access-Control-Allow-Origin'标题出现在请求的上   资源。起源' http://localhost:8080'因此是不允许的   访问。

这是我的代码:

storeMeta(file) {
    var fileObject = this.generateFileObject(file)
    return new Promise((resolve, reject) => {
      this.$http.post('http://localhost:8888/vueupload/store.php', {
        name: file.name
      }).then((response) => {
        fileObject.id = response.body.data.id
        resolve(fileObject)
      }, () => {
        reject(fileObject)
      })
    })
  }

1 个答案:

答案 0 :(得分:1)

您的php服务器必须允许http://localhost:8080POST资源。这是在服务器配置中完成的。

  1. 您可以完全禁用服务器上的CORS,使所有源都能与您的服务器通信。
  2. 或者您可以为服务器添加此标头:

    Access-Control-Allow-Origin: http://localhost:8080

  3. 或者只是允许一切

    Access-Control-Allow-Origin: *

  4. 要在PHP服务器上执行此操作,可能会像这样简单:

     <?php
     header("Access-Control-Allow-Origin: *");
    

    如果您使用laravel等框架,请查看CORS部分中的文档