Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 为什么不是';这个twitterapiajax请求是否在IE7中工作?_Jquery_Ajax_Twitter_Internet Explorer 7_Cross Domain - Fatal编程技术网

Jquery 为什么不是';这个twitterapiajax请求是否在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

这一准则有效;只是,不是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>

$(函数(){
$.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上运行。