XML没有加载jquery GET但加载直接链接和PHP?

时间:2010-02-02 22:12:10

标签: jquery xml ajax

我试图引入一个我可以用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);
    }
 });

5 个答案:

答案 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);
});

查看http://api.jquery.com/load/