jQuery中$.getJSON

Posted zhanxuewei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery中$.getJSON相关的知识,希望对你有一定的参考价值。

 

$.getJSON

 

  $.getJSON()是专门为ajax获取json数据而设置的,并且支持跨域调用,其语法的格式为:

$.getJSON(
       url,                 //请求URL
       [data],           //传参,可选参数
       [callback]       //回调函数,可选参数
); 

 

 

  url:string类型, 发送请求地址 
  data :可选参数, 待发送 Key/value 参数 ,同get,post类型的data
  callback :可选参数,载入成功时回调函数,同get,post类型的callback

 

  JSON是一种理想的数据传输格式,它能够很好的融合与javascript或其他宿主语言,并且可以被JS直接使用。使用JSON相比传统的通过 GET、POST直接发送“裸体”数据,在结构上更为合理,也更为安全。至于jQuery的getJSON()函数,只是设置了JSON参数的 ajax()函数的一个简化版本。这个函数也是可以跨域使用的,相比get()、post()有一定优势。另外这个函数可以通过把请求url写 成"myurl?callback=X"这种格式,让程序执行回调函数X。

 

  特别注意:$.getJSON是以GET方式提交数据,所以不能提交过大的数据量,可选$.post。至于如何修改为可用POST方式提交或者扩大GET提交数据量的问题,没有深入研究。

//——项目中的实际案例
function changeAnswerShow(id){
    $.getJSON(
            "/legalconsult/admin/changeshowanswer",{id:id},    //URL和参数
            function(data){
             if(data.error==0){                    //回调函数,与后台交互
                showSuccessMessage("操作成功,正在刷新。。。。");
                setTimeout("window.location.reload()",2200);
                var i=$("td.show"+id+" a i" );
                if(i.hasClass("splashy-gem_okay")){
                    i.removeClass("splashy-gem_okay").addClass("splashy-gem_remove");
                }else{
                   i.removeClass("splashy-gem_remove").addClass("splashy-gem_okay");
                }
                return true;
             }else{
                showErrorMessage(data.error);
                return false;
             }
           }
       );
}

 

以上是关于jQuery中$.getJSON的主要内容,如果未能解决你的问题,请参考以下文章

jQuery $.getJSON() 失败

jQuery中读取json文件示例代码

jQuery中读取json文件示例代码

jQuery.getJSON(url, [data], [callback])

jQuery.getJSON 不会触发回调

jQuery $.getJSON 和遍历数组正在倾尽全力