我试图引入一个我可以用php和simpleXML加载的xml feed我可以查看直接链接,但是当我尝试使用jquery并且GET它只是超时并且我从来没有得到响应,错误回来的是未定义的。
以下是使用
的代码$.ajax({
type: "GET",
url: "myurlishere",
dataType: "xml",
timeout: 1000,
contentType: "text/xml",
success: function(xml) {
alert("in");
},
complete: function(XMLHttpRequest, textStatus) {
alert(textStatus);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
答案 0 :(得分:2)
网址与包含Javascript的网页在同一个域中吗?如果没有,那么浏览器将不会让您的页面使用简单的AJAX访问它。
答案 1 :(得分:0)
代码看起来像o.k.对我来说。但是,PHP和JQuery之间的显着区别在于PHP是在您的Web服务器上执行的,而JQuery是在访问者的浏览器中执行的。也许您使用的URL只能访问Web服务器上的PHP脚本。
当您在浏览器地址栏中输入网址时是否有效?
它是什么类型的URL?它不是以localhost
开头的,是吗?
答案 2 :(得分:0)
这些问题通常源于网址混音:例如指定了一个相对URL,但它被1个目录等关闭
另外 - 我注意到你指定超时1秒。我不知道你打的是什么类型的网址......这个时间够了吗?
答案 3 :(得分:0)
在您尝试访问的脚本中...在打印出任何XML数据之前,您是否在输出XML标头?即:
标题( “内容类型:文本/ XML”);
=====
要修复域问题,请在服务器上创建一个.php文件,如下所示:
<?php
$xml = file_get_contents("http://www.the_other_domain.com/feed.xml");
echo $xml;
?>
然后将你的AJAX调用指向它。
答案 4 :(得分:0)
你试过吗
$.load();
$("#xml").load("myurlishere/xml.php", {pamameters: 25}, function(data)
{
alert("Data Loaded"+data);
});