Jquery 为什么不是';这个twitterapiajax请求是否在IE7中工作?
这一准则有效;只是,不是IE7。我读到如果我包括Jquery 为什么不是';这个twitterapiajax请求是否在IE7中工作?,jquery,ajax,twitter,internet-explorer-7,cross-domain,Jquery,Ajax,Twitter,Internet Explorer 7,Cross Domain,这一准则有效;只是,不是IE7。我读到如果我包括callback=?来强制JSONP,我可以让它在IE7中工作,但它仍然不工作 有什么提示、建议和明显的错误吗 <div id="twitter"> </div> <script> $(function(){ $.ajaxSetup({ cache: true, crossDomain: true, }); $.getJSON('http://api.twitter.c
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>
$(函数(){
$.ajaxSetup({
是的,
跨域:是的,
});
$.getJSON('http://api.twitter.com/1/statuses/user_timeline.json?callback=?&screen_name=bozdoz,函数(数据){
$.each(数据、功能(i、tweet){
$(“#twitter”).append(“”+tweet.text+” );
});
});
});
--
使现代化
这是我应该使用的代码。这是在对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>');
}
});
$.ajax({
网址:'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=bozdoz',
数据类型:“jsonp”,
cache:false,
跨域:是的,
contentType:“应用程序/json”,
成功:功能(数据){
$。每个(数据、功能(i){
$(“#twitter”).append(“”+this.text+”);
如果(i==2)返回false;
});
},
错误:函数(jqXHR、textStatus、errorshown){
$(“#twitter”).append(“”+jqXHR+”“+textStatus+”“+errorshown+””);
}
});
您的代码中有一个额外的
你想要
$.ajaxSetup({
cache: true,
crossDomain: true
});
尝试设置
contentType
$.ajaxSetup({
cache: true,
crossDomain: true,
scriptCharset: "utf-8" ,
contentType: "application/json; charset=utf-8"
});
p.S api返回的json未经验证为有效的json
另外,请始终将&callback=?
附加到URL的末尾
<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>
$(函数(){
$.ajaxSetup({
是的,
跨域:对
});
$.getJSON('http://api.twitter.com/1/statuses/user_timeline.json?screen_name=bozdoz&callback=?,函数(数据){
$。每个(数据、功能(i){
$(“#twitter”).append(“”+this.text+” );
});
});
});
以下是一个工作示例:
向你展示了实现它的不同方法。我也注意到了这一点;但很确定这是无关紧要的。只是测试了一下,结果是一样的。在最新的浏览器中这并不重要,但在IE上却很重要。。请注意,它讨厌在对象中拖尾逗号,如果你不删除它,它会崩溃。我很想再添加一次,看看你是否正确。我有一段时间在那里有多余的逗号,没有出错。只是,一切都不顺利。谢谢你的回复!显然,我必须设置contentType。太好了。在IE7中工作得很好。谢谢我知道有人会知道答案你认为scriptCharset有必要吗?事实证明,这个解决方案似乎只有一半的时间有效。当我刷新页面时,它似乎有一半的机会工作。知道为什么吗?不知道。不工作。我在一个承包商设计的sharepoint网站上,为一个运行IE7的组织工作。这是一个讨厌的问题。我能想到的另一件事可能是,在第一个ajax调用完成之前,您正在启动第二个ajax调用。请尝试设置
async:false
,这是非常不推荐的做法。当我设置错误回调时,它会多次返回“未定义的”。jQuery抽象javascript。在什么浏览器上运行并不重要。当涉及到IE时,每一件小事都很重要。太可怕了。谢谢您的回复!:)我希望IE7能像IE6一样死去。IE8在XP上运行。