【发布时间】:2014-11-06 00:43:25
【问题描述】:
我有一个 java 服务,使用 xmlHttpRequest 在 javascript 中调用它,它返回 XML 数据。它在 IE 8 之前运行良好。现在我们在 IE 11、chrome 和 mozilla 中尝试它给出 500 (Internal Server Error)。代码如下。
request = new XMLHttpRequest();
request.open('POST', SERVERHOSTNAME+"/XXXXXX/XXXXXX/XXXXX/XXXXXInsert");
request.send(req,300000);
谷歌搜索后发现它与跨域请求有关,并使用以下代码。
request.setRequestHeader("Access-Control-Allow-Origin", SERVERHOSTNAME);
在上面的代码中添加了这一行..现在我没有收到任何错误,也没有输出我的 reponseText 为空..
后来我尝试了$.ajax
代码如下:
$.ajax({
url:url,
type: "POST",
data:req,
dataType:"xml",
crossDomain:true,
success: function (response) {
alert(response);
},
error:function(error1)
{
alert(error1);
}
});
我遇到同样的错误...请帮助我。一件事是我现在无法更改服务..
【问题讨论】:
-
allow cross browser request in crome .. check similar question.. stackoverflow.com/questions/2600574/….. 使用 --disable-web-security 作为参数启动 crome.exe 即“chrome.exe --disable-web -安全”
-
感谢 girish 的回复。我无法使用此选项,因为我无法让所有用户都以这种模式启动它。
-
Access-Control-Allow-Origin是 response 标头,而不是请求标头。
标签: javascript jquery ajax xmlhttprequest