如何正确输入ajax?

时间:2010-12-01 09:46:04

标签: ajax

我知道如何使用一个表单数据使用ajax:

$.ajax({
       type:'get',
       url:'blabla.php',
       data:$('#abc').serialize();
       .........

但如果我想输入:

$('#exportmod').click(function(){
                    $.ajax({
                            "dataType":'json',
                            "type":'GET',
                            "url":'shows_merchan.php',
                            "data": [ action:"searchmodelqp",
                                      jhead:"aaData",
                                      month:$("#search_month").val(),
                                      year:$("#search_year").val(),
                                      export:"excel"
                                    ],
                             "success":function(json){
                                                       fnCallback(json);
                                                       }
                             });
                    });
你可以告诉我这个ajax的正确类型吗?

1 个答案:

答案 0 :(得分:1)

你几乎拥有它,只是data上的支撑是错误的,对于一个对象应该是{}而不是[],如下所示:

$('#exportmod').click(function(){
  $.ajax({
     dataType: 'json',
     type: 'GET',
     url: 'shows_merchan.php',
     data: { action: "searchmodelqp",
             jhead: "aaData",
             month: $("#search_month").val(),
             year: $("#search_year").val(),
             export: "excel"
           },
     success: fnCallback
   });
});

上面的其他更改显示了可以做的事情。您不必为未保留的单词引用标识符(只要它们的有效...以及所有$.ajax()选项都是),也不需要匿名包装来调用函数相同的签名,所以我更改了success以直接使用您的回调。

以上$.ajax()来电还有一个快捷方式,$.getJSON()

$('#exportmod').click(function(){
  $.getJSON('shows_merchan.php', 
            { action: "searchmodelqp",
              jhead: "aaData",
              month: $("#search_month").val(),
              year: $("#search_year").val(),
              export: "excel" }, 
            fnCallback);
});