【发布时间】:2023-04-01 07:05:01
【问题描述】:
我想创建一个小网页,询问该服务器 (http://resumemanagerrestserver.juanwolf.cloudbees.net/) 并使用收到的 XML。
但问题是当我这样做时:
var resumes;
jQuery.ajax({
type: "GET",
url: "http://resumemanagerrestserver.juanwolf.cloudbees.net/?callback=?",
contentType: "text/plain; charset=utf-8 ",
dataType: "xml",
success: function (data, status, jqXHR) {
resumes = data;
},
error: function (jqXHR, status) {
// error handler
}
});
我有这样的回应: ML 解析错误:找不到元素位置:moz-nullprincipal:{2041758e-b063-4f84-898d-2ff62d487a5d} 第 1 行,第 1 列:
我用 Advanced REST 客户端尝试了一个 GET 请求,它可以工作。
如果有人有解决方案,我将不胜感激(并在我的余生中爱他)
编辑
我将旧代码更改为:
function getResumes() {
var resumes;
var url = 'http://resumemanagerrestserver.juanwolf.cloudbees.net/?callback=?';
var xhr = createCORSRequest('GET', url);
xhr.onreadystatechange = function() {if (xhr.readyState==4) alert("It worked!");};
xhr.setRequestHeader("Content-type", "application/xml");
xhr.setRequestHeader("Connection", "close");
if (!xhr) {
alert('CORS not supported');
return;
}
// Response handlers.
xhr.onload = function() {
resumes = xhr.responseText;
alert('Response from CORS request to ' + url + ': ' + resumes);
};
xhr.onerror = function() {
$('#errorPopupLink').get(0).click();
};
xhr.send();
return resumes;
}
现在,Firebug 中的请求不是红色的,但我仍然有这个
XML Parsing Error: no element found Location: moz-nullprincipal:{d9ee4013-542d-4f65-a310-e1719d99bcae} Line Number 1, Column 1
有人有解决办法吗?
【问题讨论】:
-
我遇到了同源错误,所以你可能不能这样做。
-
正如 adeneo 所写,您可能对同源策略有问题。如果您将调用页面和脚本放在同一域resumemanagerrestserver.juanwolf.cloudbees.net 上,请测试它是否有效。另见:ways to circumvent the same-origin policy
-
这可能是问题所在。我以为第一页告诉浏览器 AJAX-Requests 可能会离开域。
-
我找到了解决方案。我感到有点羞愧,但现在它很好用。我忘了在服务器端为 GET 请求添加标头,我只是将它用于 PUT 请求...
-
您应该解释解决您的问题的原因作为答案,以便其他人可以学习。 :)
标签: javascript jquery xml spring cors