没有“Access-Control-Allow-Origin”
我面临这个问题:
XMLHttpRequest无法加载http:// localhost:8000 / scripts / advaced_donwload / advancedUpload / vueupload / store.php 。 请求的资源上没有“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) }) }) }
你的PHP服务器必须允许http://localhost:8080
来POST
资源。 这是在服务器configuration中完成的。
- 您可以完全禁用服务器上的CORS,使所有来源与您的服务器通信。
-
或者你可以添加这个头的服务器:
Access-Control-Allow-Origin: http://localhost:8080
-
或者只是允许一切
Access-Control-Allow-Origin: *
要在PHP
服务器上完成,可能是这样简单的:
<?php header("Access-Control-Allow-Origin: *");
如果您使用的是诸如laravel之类的框架,请在CORS
部分查看他们的文档