XMLHttpRequest cannot load http://www.example.com/scripts/php/sendDispatch.php. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example.com' is therefore not allowed access.
这是在同一个域上而不是单独的域。所有“可能重复”都处理了具有不同域名的问题。
我在Chrome中遇到此错误。我的理解是,当尝试访问另一个域上的文件时,通常会发生此类事情。可能有什么不对?
的Ajax:
var frm = $('#dispatchForm');
frm.submit(function (ev) {
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
success: function (data) {
notif({
type: "success",
msg: "<b>Success: </b>Your request has been submitted.",
position: "center",
width: 500,
height: 60,
autohide: false
});
$(frm)[0].reset();
}
});
ev.preventDefault();
});
答案 0 :(得分:0)
要成为同源,端口,主机名和方案必须匹配。
www.example.com
和example.com
不是同一个主机名,即使其中一个是另一个的子域名。
通常认为选择www.example.com
和example.com
之一作为您网站的规范名称,并将所有非规范请求重定向到规范名称是明智的。
这可以与 relative URI结合使用以避免此问题。
答案 1 :(得分:0)
在此处添加答案,以便您可以将其标记为正确,如果它已为您修复..正如其他人指出的那样,www
与非www匹配:
从请求中删除www,或者根据子域
添加一些逻辑来构建链接