我的ajax请求如下所示:
$.ajax({
url: self.opts.url.replace('//www.', '//'),
type: 'POST',
...
});
我认为.replace
只是为了确定。因为我opts.url
中的网址是"http://website.com/admin/upload-image/123"
。但我无法上传图片,因为我在控制台中收到错误:XMLHttpRequest cannot load http://www.website.com/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://website.com' is therefore not allowed access.
我在调试模式下仔细检查了URL并且它始终没有www.
,但jQuery似乎无论如何都要添加它。这对我来说根本没有意义。
我从jQuery的error
函数获得的内容:
jqXHR: Object (filled statusText with "error")
textStatus: "error"
errorThrown: ""
答案 0 :(得分:1)
正如您在错误消息中看到的那样,它说:
XMLHttpRequest无法加载www.website.com。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。 Origin' www.website.com'因此不允许访问。
您必须在www.website.com网页上设置Access-Control-Allow-Origin标头。在php中,这是通过以下方式完成的:
标题(" Access-Control-Allow-Origin:http://yourwebsiteThatNeedsAccess");