XMLHttpRequest 无法加载 url Origin null is not allowed by Access-Control-Allow-Origin
Posted
技术标签:
【中文标题】XMLHttpRequest 无法加载 url Origin null is not allowed by Access-Control-Allow-Origin【英文标题】:XMLHttpRequest cannot load the url Origin null is not allowed by Access-Control-Allow-Origin 【发布时间】:2012-08-16 19:48:29 【问题描述】:json 响应在
"userName":"clevermeal835","userRole":"Participant"
我收到成功的警报消息,但在阅读响应时我收到错误
XMLHttpRequest 无法加载 url Origin null 是 Access-Control-Allow-Origin 不允许的。
如果我通过 --disable-web-security 从命令提示符运行代码,我会收到响应 下面是代码。
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="Scripts/jquery-1.4.2.min.js"></script>
<script>
$(document).ready(
function()
$("#jsonpbtn2").click(function()
var uid = "clevermeal835";
var pwd = "Welcome_1";
var userType = "participant";
var surl="http://localhost:8080/RESTlet_WS/MobiSignIn/\"userName\":\""+uid+"\",\"password\":\""+pwd+"\",\"userType\":\""+userType+"\"/";
$.ajax(
type : 'GET',
contentType: "application/json; charset=utf-8",
url : surl,
dataType : 'json',
headers : Accept : "application/json","Access-Control-Allow-Origin" : "*",
crossDomain : true,
success :SucceedFunc ,
error : function(data, textStatus, errorThrown)
console.log("error"+' '+JSON.stringify(data) + ' ' + textStatus + ' ' + errorThrown);
);
function SucceedFunc(data)
alert("success");
var userName = data.userName;
alert(userName);
);
);
</script>
</head>
<body>
<input id="jsonpbtn2" type="submit" value="button" />
</body>
</html>
【问题讨论】:
您能否提供至少一个如何您提出请求的示例?您是否尝试跨域调用? 刚刚我已经放了代码,请您验证并帮助我 我有点困惑,为什么您在调用 localhost 时将此视为跨域请求?你这样做的理由是什么? 如果我删除那个 crossDomain : true 我得到同样的错误 这个页面的网址是什么? 【参考方案1】:如果你调用的是上面问题中的html页面ajaxCallPage.html
,比如file://.../ajaxCallPage.html
,那么你做错了。
将ajaxCallPage.html
文件放在您的网络服务器中,并像这样调用它http:/localhost:8080/.../ajaxCallPage.html
。那么这个错误就不会出现了。
如果是这样,这个问题可能与XMLHttpRequest cannot load http://localhost:8080/exist/rest/db/.... Origin null is not allowed by Access-Control-Allow-Origin重复
【讨论】:
代替 localhost 我放置了 ipaddress。如果我删除了如何从网络服务器获得响应,我也尝试过 您在上面粘贴的页面的网址是什么? 我要求验证这是否真的是一个跨域 XmlHttpRequest。 localhost:8080/RESTlet_WS/MobiSignIn\"userName\":\""+uid+"\",\"password\":\""+pwd+"\",\"userType\":\" "+userType+"\"/ 这是我使用的 url 和 uid = "clevermeal835" , pwd = "Welcome_1" ,userType = "participant";以上是关于XMLHttpRequest 无法加载 url Origin null is not allowed by Access-Control-Allow-Origin的主要内容,如果未能解决你的问题,请参考以下文章
XMLHttpRequest 无法加载 [url] 预检响应具有无效的 HTTP 状态代码 405
XMLHttpRequest 无法加载 URL。 Access-Control-Allow-Origin 不允许的来源
XMLHttpRequest 无法加载 url Origin null is not allowed by Access-Control-Allow-Origin
无法通过 xmlhttprequest 加载本地 xml 文件
XMLHttpRequest 无法加载 <instagram OEMBED URL>。请求的资源上不存在“Access-Control-Allow-Origin”标头