2010-12-01 5 views
0

은 내가 한 형태 데이터 사용 아약스 사용하는 방법을 알고 :아약스를 올바르게 입력하는 방법은 무엇입니까?

$.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); 
                 } 
          }); 
        }); 

당신은 나에게이 아약스의 올바른 유형을 보여줄 수 있을까?

+0

, 그것은 erroring입니까? – benhowdle89

답변

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을 콜백을 직접 사용하도록 변경했습니다.

$.getJSON(), 또한 위의 $.ajax() 호출에 대한 바로 가기있다 :

에 대한 권리 보이는
$('#exportmod').click(function(){ 
    $.getJSON('shows_merchan.php', 
      { action: "searchmodelqp", 
       jhead: "aaData", 
       month: $("#search_month").val(), 
       year: $("#search_year").val(), 
       export: "excel" }, 
      fnCallback); 
}); 
+0

무엇이 다른가요? – klox

+0

@klox -'data'를보세요? '[]'는 객체 리터럴이 아닌 배열 리터럴을 알려주므로 올바른 형식이 아닙니다. 여기에 객체가 필요하다. 궁극적으로는'$ .param()'에 전달되어 쿼리 문자열로 직렬화된다. –

관련 문제