jQuery + AJAX +跨域+获取内容

时间:2011-10-17 16:04:01

标签: jquery ajax json cross-domain jsonp

我不确定它是否可能,但我猜必须有办法。

我正在尝试检查某个网页是否仍在线,是否仍有我期望的内容。出于演示目的,我试图获得远程站点的标题。

所以我尝试这样的事情:

  $.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来保持这个帖子的更新。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:-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.
 }
});

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

有关$ .ajax(http://api.jquery.com/jQuery.ajax/)的更多信息