2010-04-05 89 views
0

我试图使用jQuery get function在我的页面上呈现HTML页面的结果。 get函数的结果似乎是成功的,因为textStatus的值(在下面的代码块中)是“成功”。然而,数据的价值总是空的。jQuery获取函数不返回数据

$(document).ready(function() { 
    $.get('http://www.google.com', function(data, textStatus){ 
    $('#RSSContent').html(textStatus + ' ' + data); 
    }); 
});

任何想法我可能做错了什么?

注意:最终代码将查询GeoRSS馈送,我计划在RSSContent div中将其转换并呈现​​为HTML。我只是使用http://www.google.com进行测试。

+1

你将要使用的数据类型是什么?尝试指定它。尝试使用Firebug来查看实际的XmlHttpRequest。由于存在XSS问题,如果您的dataType是(将会是)XML(而不是JSON或脚本),则您从$ .get中获得的服务器必须位于同一个域中。 – 2010-04-05 15:49:11

回答

3

您不能向这样的其他域发出AJAX请求。你碰到什么叫做same origin policy。出于安全原因,JavaScript不允许这样的请求(除非在某些情况下,如JSONP)。

试想一下,如果(通过document.write或任何XSS方法)在你的页面我的广告脚本能够复制您的姓名和密码字段,并通过AJAX在后台提交给另一个域...坏主意:)