2012-03-14 5 views
0
var states = new Array();   
    states[0] = { Id: 1, Name: "Maharashtra" }; 
    states[1] = { Id: 2, Name: "Punjab" }; 

    var Id = new Array(); 
    Id[0] = 0; 
    Id[1] = 1; 




    $.ajax({ 
     type: "POST", 
     url: "WebService.asmx/MultiDim", 
     data: "{'states':" + JSON.stringify(states) +",'rowId':" + JSON.stringify(Id) + "}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (msg) { 
      // Do something interesting here. 
     } 
    });  


[WebMethod] 
     public void MultiDim(statesTemplate[] states, Id rowId) 
     { 

     } 

내 webservice 기능에서 rowId 두 번째 매개 변수가 표시되지 않습니다.jquery ajax 함수에서 여러 매개 변수를 사용하려면 어떻게해야합니까?

답변

0

시도 :

data : { states : states, rowId : Id }, 

당신은 $.ajax() 기능을 객체 인 data 속성을 전달할 수는 jQuery를 나머지 처리됩니다.

데이터

데이터를 서버로 전송한다. 문자열이 아닌 경우 쿼리 문자열로 변환됩니다. GET 요청에 대한 URL에 추가됩니다. 이 자동 처리를 방지하려면 processData 옵션을 참조하십시오. 물체는 이어야합니다. 키/값 쌍이되어야합니다. 값이 Array 인 경우 jQuery는 전통적 설정 (아래 설명 참조)의 값을 기반으로 동일한 키를 사용하여 여러 개의 값을 직렬화합니다.

출처 : http://api.jquery.com/jquery.ajax/

그냥 메모, 당신은 초기화 할 수 array의 문자 :

var states = [ { Id : 1, Name : 'Maharashtra' }, { Id : 2, Name : 'Punjab' } ], 
    Id  = [ 0, 1 ]; 
0

작성중인 JSON 문자열이 유효하지 JSON입니다. JSON에는 큰 따옴표가 필요합니다. 작은 따옴표로 문자열을 시작하고 키와 값에 큰 따옴표를 사용하십시오.

유효성을 검사하려면 jsonlint.com을 사용하십시오.

관련 문제