2013-07-17 46 views
0

我無法弄清楚,如果我能在數據標籤發送一個數組: 我的客戶JS代碼如下所示:通陣列 - 引導Ajax調用

     $.ajax({ 
     url: '/mobiledoc/jsp/aco/Beneficiary/ptmmview.jsp', 
     data: { 
      "action":"savePatientRecords", 
      "ptId":strPtId, 
      "PatientVal":PatientVal, 
      "Qid":Qid, 
      "QType":QType 
          "Array" : ?? 
     }, 
     dataType: 'text', 
     type: 'post', 
     success: function (responseMsg) { 
     // gets the response message back from server 
      loadMilestoneData(); 
      alert(responseMsg);  
+0

只是爲了重申我希望發送一個數組。我知道,當我收到我可以只改變dataType:'json'。但那不是我關心的問題。 – user1908568

回答

-2

是的,你可以。首先使用方法而不是類型後。像這樣...

method: 'post' 

JQuery應該爲您序列化數據。

$.ajax({ 
    url: '/mobiledoc/jsp/aco/Beneficiary/ptmmview.jsp', 
    data: { 
     "action": "savePatientRecords", 
      "ptId": strPtId, 
      "PatientVal": PatientVal, 
      "Qid": Qid, 
      "QType": QType, 
      "Array": [ 1, 2, 3 ] 
    }, 
    dataType: 'text', 
    method: 'post', 
    success: function (responseMsg) { 
     // gets the response message back from server 
     loadMilestoneData(); 
     alert(responseMsg); 
    } 
}); 

如果沒有,則使用JSON.stringify把你的對象/數組到一個字符串。

$.ajax({ 
    url: '/mobiledoc/jsp/aco/Beneficiary/ptmmview.jsp', 
    data: JSON.stringify({ 
     "action": "savePatientRecords", 
      "ptId": strPtId, 
      "PatientVal": PatientVal, 
      "Qid": Qid, 
      "QType": QType, 
      "Array": [ 1, 2, 3 ] 
    }), 
    dataType: 'text', 
    method: 'post', 
    success: function (responseMsg) { 
     // gets the response message back from server 
     loadMilestoneData(); 
     alert(responseMsg); 
    } 
}); 
+0

是:JSON.stringify({paramName:array})WORKS !!我其實可以將json數組傳遞給其他方:) – user1908568

0

服務器通常不會讀取那樣的數組。要謹慎起見,請首先在客戶端上展開陣列:

data: { 
     ... 
     "Array" : theArray.join(',') // beware of values with ',' in them 
     } 

在服務器上,將陣列拆分爲','。