实际上,我不知道这是否是一个跨域的ajax问题。 这是我的问题: 我有一个在ssl协议下运行的网站,例如,网站网址是:https://172.11.8.1:10443/index.php,现在我想从同一台服务器中的另一个http进程获取一些xml数据,比如:http://172.11.8.1:8080/test.xml。
我的假设是,我可以在https://172.11.8.1:10443/index.php的HTML页面中添加一个js文件,核心ajax调用如下:
$.ajax({
type: "GET",
url: "http://172.11.8.1:8080/test.xml",
dataType:"xml",
success: xmlParser,
error: errHandler
});
function xmlParser (xml, textStatus)
{
//
}
function errHandler(xhr, statusText, error)
{
if (xhr.status == "0" && statusText == "error")
{
alert("network down");
}
else if (xhr.status == "200" && statusText == "parseerror")
{
alert("error to get xml info");
}
else
{
alert("error to get xml info");
}
}
当我按照js文件时,它总是直接进入错误句柄功能。错误信息如下:
errorType Error: a is null message=a is null
statusText parsererror
我相信XML文件格式是有效的,因为我在同一个http域下尝试了相同的ajax调用,它可以工作。
有什么建议吗?
答案 0 :(得分:0)
在这种情况下,您可以解决跨域问题...只需在(例如)php中创建一个获取Feed的页面....
<强> getXml.php 强>
<?php die(file_get_contents('http://172.11.8.1:8080/test.xml')); ?>
<强> JS 强>
$.ajax({
type: "GET",
url: 'getXml.php',
dataType:"xml",
success: xmlParser,
error: errHandler
});