此代码有效;只是,而不是IE7。我读过如果我包含callback=?
强制JSONP,我可以让它在IE7中工作,但它仍然无效。
任何提示,建议,明显的错误?
<div id="twitter">
</div>
<script>
$(function(){
$.ajaxSetup({
cache: true,
crossDomain: true,
});
$.getJSON('http://api.twitter.com/1/statuses/user_timeline.json?callback=?&screen_name=bozdoz', function(data) {
$.each(data, function(i, tweet) {
$('#twitter').append('<li>'+tweet.text+'</li>');
});
});
});
</script>
-
这是我应该使用的代码。这是在StackOverflow精练数小时后编译的。在IE7中运行良好。谢谢大家。
$.ajax({
url: 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=bozdoz',
dataType: 'jsonp',
cache: false,
crossDomain: true,
contentType: "application/json",
success: function(data){
$.each(data, function(i){
$('#twitter').append('<p>'+this.text+'</p>');
if(i==2) return false;
});
},
error: function(jqXHR, textStatus, errorThrown){
$('#twitter').append('<p>'+jqXHR+" "+textStatus+" "+errorThrown+'</p>');
}
});
答案 0 :(得分:3)
尝试设置contentType
$.ajaxSetup({
cache: true,
crossDomain: true,
scriptCharset: "utf-8" ,
contentType: "application/json; charset=utf-8"
});
P.S由api返回的json未被jsonlint
也始终将&callback=?
附加到网址的末尾
答案 1 :(得分:2)
您的代码中还有一个额外的内容。
你想......
$.ajaxSetup({
cache: true,
crossDomain: true
});
答案 2 :(得分:1)
试试这个
<div id="twitter">
</div>
<script>
$(function(){
$.ajaxSetup({
cache: true,
crossDomain: true
});
$.getJSON('http://api.twitter.com/1/statuses/user_timeline.json?screen_name=bozdoz&callback=?', function(data) {
$.each(data, function(i) {
$('#twitter').append('<li>'+this.text+'</li>');
});
});
});
</script>
答案 3 :(得分:1)
这是一个工作示例:http://jsfiddle.net/8h2Sv/3
告诉你不同的方法来实现它..