很简单:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$.get("http://twitter.com/statuses/user_timeline/19092829.rss");
});
</script>
</head>
<body>
</body>
</html>
在IE和Opera中,这非常有效,但在FF 3.5,Chrome和 Safari我收到400 Bad Request。使用Fiddler2查看请求 和FireBug,用OPTIONS取代GET。但在IE和IE中 Opera,它仍然显示为GET。我不明白????
编辑:我觉得这样的白痴甚至没有考虑过XSS政策。谢谢你们。答案 0 :(得分:5)
您不能来自其他域的$ .get()。安全问题。
您可以在服务器上浏览代理脚本。您可以使用PHP或C#(.NET)为您获取数据并将其返回到您的jQuery脚本。
答案 1 :(得分:2)
您的脚本遇到了权限被拒绝错误。
浏览器具有一个安全功能,可以定义您可以调用的URL。通常不允许从不同的域调用URL,因为它将为cross site scripting攻击开辟途径。
jQuery有一个名为JSONP的解决方案,但这取决于提供JSONP实现的另一方。
对于Twitter,我个人用过:
$.getJSON('http://twitter.com/statuses/user_timeline/[username].json?count=10&callback=?', function(data) { });