2013-03-08 59 views
0

請幫助解決這個問題。我有以下的javascript:

$('form').click(function (e) 
      { 
      if (e.target.getAttribute('id') === 'SubmitAddLevel') 
      { 
       var parent = $('#' + e.target.getAttribute('attr')), 
       var Data = []; 
       parent.find('.input').children().each(function (i, e) 
       { 
        Data.push(e.getAttribute('id') + ":" + e.value); 
        console.log(Data); 
       });     

       $.ajax({ 
        type: "POST", 
        url: 'AjaxControls.aspx/CreateUserLevel', 
        //data: Data, //.join(','), 
        dataType: "text", 
        contentType: "application/json; charset=utf-8", 
        //error: function (er) { alert(er); }, 
        success: function (response) 
        { 

         if (response.d === "true") 
         { 

          $("#ErrorDivAddLevel").html('Level created successfully!').fadeIn('slow'); 
         } 
         else 
         { 
          $("#SuccessDivAddLevel").html('Level creation failed!').fadeIn('slow'); 
         } 
        }, 

       }); 
      } 

的 '數據' 我在控制檯上得到的結果是:[ 「LevelNameAddLevel:系統管理員」,「PriviledgeIDAddLevels:| 1 | 2 | 3 | 4 | 5 | 6 | 7 |「]。我如何將其轉換爲ajax將傳遞給我的網絡的任何東西?

這裏是Web方法

<WebMethod(EnableSession:=True)> 
Public Shared Function CreateUserLevel(userLevel As String, userPriviledges As String) As String 

return "true" 

end function 
+1

什麼是數據預期在服務器,什麼是數據類型和參數預計 – 2013-03-08 18:35:28

+0

你可以顯示Web方法的簽名 – Rafay 2013-03-08 18:43:30

+0

只是一點編輯建議:改變'response.d ===「true」'= >'response.d === true'。另外,如果您在成功查找文本響應,請使用'response.responseText'。 – Mic1780 2013-03-08 18:59:47

回答

0

我覺得你的數據看起來應該更像是這樣的:

[{"LevelNameAddLevel":"Admin"}, {"PriviledgeIDAddLevels":"|1|2|3|4|5|6|7|"}] 

所以,你有一個數組裏面的鍵/值對。在請求中,您應該能夠通過請求中的鍵獲取數據。 但我不太確定這應該是什麼意思:「| 1 | 2 | 3 | 4 | 5 | 6 | 7 |」