getJSON(url,[data],[callback]) jq的getJSON函数 请求出错或返回值不是json对象 就不执行callback 函数体,那如何设置getJSON出错才执行的函数体呢

解决方案 »

  1.   


    jQuery.ajax({
    error: function(jqXHR, textStatus, errorThrown){}
    });
      

  2.   


    //getJSON没怎么用
    $.ajax({
       url:"",
       data:"",
       type:"get",
       dataType:"json",
       success:function(result){},
       error:function(errMsg){alert(errMsg)}//弹出出错信息
    })
      

  3.   

    用基本的ajax方法,数据类型设置成'json'$.ajax({
        url: 'xxx.xxx',
        dataType: 'json',
        error: function() { ... },
        success: function() { ... }
    });
    修改全局ajax设置$.ajaxSetup({
        error: function() {
            ...
        }
    });
    使用ajax事件$(selector).ajaxError(function(event, request, settings){
         ...
    });
      

  4.   

    $.ajax方法不可跨域
    所以我才用$.getjson恩 修改全局的 ajax设置 可行,  
      

  5.   

    $.ajax({
        url: 'xxx.xxx',
        dataType: 'json',
        error: function() { ... },
        success: function() { ... }
    });
      

  6.   

    呵呵,一直都听过$.getjson能跨域,但是一直没有去试过,一直不知道它和普通JSON请求的区别,只知道所以,却不知道它为什么可以!
      

  7.   

    跨域通常是用 script 标签发送的请求
      

  8.   

    $.getjson本质上调用的还是$.ajax
      

  9.   


    那为什么 $.ajax 不可跨域
      

  10.   

      既然本质用的还是$.ajax,那么为什么$.getJSON可以,$.ajax却不行呢?
      

  11.   

    看jquery ajax代码就知道,所有的ajax call最后还是要调用$.ajax,什么get,post只是他的简化方式有着不同的设置而已。 
      

  12.   


       那为什么用$.ajax本身却不能跨域呢?你能解释解释吗。儿子能做的事,父亲为什么不能做呢?你是否有研究过!呵呵
      

  13.   

    $.getJSON之所以能够跨域,是因为<script src='xxx.aspx'>是可以跨域的。并不是$.ajax中用到的httpxmlrequest
      

  14.   

    http://api.jquery.com/jQuery.getJSON
    官方文档这么写的,你倒是可以试试可不可以跨域
      

  15.   

    给你一个儿子,父亲都可以做的例子吧
    $.ajax({
                    url: "http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?",
                    dataType: 'json',
                    data: {
                        tags: "cat",
                        tagmode: "any",
                        format: "json"
                    },
                    success: function (data) {
                        $.each(data.items, function (i, item) {
                            $("<img/>").attr("src", item.media.m).appendTo("#images");
                            if (i == 3) return false;
                        });
                    }
                });
            });
    ---------------------------------------------
    $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?",
      {
        tags: "cat",
        tagmode: "any",
        format: "json"
      },
      function(data) {
        $.each(data.items, function(i,item){
          $("<img/>").attr("src", item.media.m).appendTo("#images");
          if ( i == 3 ) return false;
        });
      });
      

  16.   

    http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?这种请求不好理解,请求的怎么是gne文件呢??而且jsoncallback=?之后就没了。哎。不好意思,对于这种请求,我在官网上也想找到DEMO来自己测试下,但是又没有例子,就只有这样提到一下就没了。
      

  17.   

    OK,明白了,失测OK。我用了这个测试:  <script type="text/javascript" src="jq.js"></script>
     <script type="text/javascript">
    $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?", function(data){
      $.each(data.items, function(i,item){
        $("<img/>").attr("src", item.media.m).appendTo("#images");
        if ( i == 3 ) return false;
      });
    });
    </script>
    <div id="images"></div>返回了4张图片。呵呵,希望这个例子能给大家一个参考!分析好里头的每一个数据项,怎么取,怎么发。