2011-10-17 58 views
0

我不确定它是否有可能,但我猜想肯定有办法。jQuery + AJAX +跨域+获取内容

我想检查某个页面是否仍然在线,以及它是否仍然有我期望的内容。为了演示目的,我试图获得远程站点的标题。

所以我想是这样的:

$.ajax({ 
    dataType: 'jsonp', 
    jsonp: 'jsonp_callback', 
    url: 'http://www.confickerworkinggroup.org/infection_test/cfeyechart.html', 
    success: function (response) { 
     var newTitle = $(response).filter('title').text(); 
     alert(newTitle); 
    } 
    }); 

但它不工作,这是在Firebug的错误:

invalid XML attribute value 
<META NAME=AUTHOR CONTENT="Joe Stewart"> 

我是新来的这一切,所以我不确定主要问题在哪里(我想这不仅仅是一个)。

编辑:

我想我真的需要它的帮助,是“解析”返回JSONP,这样我可以用jQuery使用它,如果它是一些简单的内容。

编辑2:

万一ANY1正在寻找类似的事情,我碰到this site和它的工作很不错,但我仍然在寻找一种方式使用jQuery做,并会保持这个贴子更新。

回答

0

它看起来像是在工作,但它没有在该页面中返回有效的XML,因为元标记没有关闭元素。您可能希望将数据类型设置为html。

+0

你好,是的还以为这似乎是工作,但无法回避的是错误... 。当将数据类型更改为html时,它根本不起作用。我得到“GET http://www.confickerworkinggroup.org/infection_test/cfeyechart.html 200 OK” - 但有一个空的答案。 – Andrej

-2

这里是一个示例,可能会帮助您使用jquery ajax。

$.ajax({ 
    type: "[POST|GET]", 
    url: "[URL]", 
    data: "{'[key]': '[value]' }", 
    contentType: "[Content Type] ", 
    dataType: "json", 
    success: function(response) { 
    //TODO: Add function or method to response handler 
    }, 
error: function(e){ 
    //TODO: Add function or method to error handler. 
} 
}); 

类型:请求类型。 url:你想要请求的URL。 data:你想发送的JSON数据(这是一个参数)。 [可选] contentType:您要发送的内容的类型。 [可选] dataType:响应返回的数据类型。 成功:添加响应处理程序。 错误:添加错误处理程序。

更多有关阿贾克斯$(http://api.jquery.com/jQuery.ajax/)

+0

嗨,我宁愿需要帮助我的具体问题。我当然可以自己阅读官方文件。谢谢! – Andrej