2016-04-12 23 views
2

我正在使用Google Chrome擴展。我有字符串數組,我需要用Ajax將我的數組發佈到Web服務,然後再次返回。這裏是我的代碼:如何使用AJAX將數組POST到POST服務

var data = {}; 
data.param1 = words; // my string array 

$.ajax({ 
    data: JSON.stringify(data), 
    dataType: "json", 
    url: 'http://localhost:49242/Service.asmx', 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    success: function (result) { 
     alert("basarili"); 
    }, 
    failure: function(errMsg) { 
    alert(errMsg); 
} 
}); 

服務:

public string example(string[] param1) { 

     string result = param1[0]; 
     return result; 
    } 

,我沒有得到一個錯誤,但是這個代碼不工作。我該如何解決?

+0

你有調試你的代碼一步一步?你有看到你發送的是什麼,你得到了什麼? – Aristos

+0

你的意思是'param1 [「」param1「]'? – madalinivascu

回答

0

嘗試使用Json編碼同時返回Service文件中的字符串。

+0

你能寫一個例子嗎? – pseudocode

+0

例如,在你的Service文件中,你可以將字符串轉換成JSON格式然後返回 public string example(string [] param1 ){ 字符串結果=參數1 [0]; VAR串行=新JavaScriptSerializer(); 回報serializer.Serialize(新{名稱=結果});} 。 希望這有助於你 –

1
var data = {}; 
data.param1 = words; // my string array 

$.ajax({ 
    data: {param1: data.param1}, 
    url: 'http://localhost:49242/Service.asmx', 
    type: "POST", 
    success: function (result) { 
     alert("basarili"); 
    }, 
    failure: function(errMsg) { 
     alert(errMsg); 
    } 
}); 
0

我已經給了類似的答案在

Link

按我的觀察

var data = {}; 
data.param1 = ["String1","String2"]; // my string array 

$.ajax({ 
    data: JSON.stringify(data), 
    dataType: "json", 
    url: 'http://localhost:49242/Service.asmx/example',//Missing Method Name 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    success: function (result) { 
     alert(result.d); 
    }, 
    failure: function(errMsg) { 
    alert(errMsg); 
} 
}); 

和的.aspx

<form id="form1" runat="server"> 
    //rest is omitted 
    <asp:scriptmanager ID="Scriptmanager1" runat="server"> 
     <Services> 
      <asp:ServiceReference runat="server" Path="~/WebService1.asmx"/> 

     </Services> 

    </asp:scriptmanager> 
    </form> 

[System.Web.Script.Services.ScriptService]//This is must 
public string example(string[] param1) { 

     string result = param1[0]; 
     return result; 
    } 
+0

我沒有網頁形式(.aspx)。是否有問題? – pseudocode

+0

在url中添加方法名稱/示例?是否有效? –

+0

我在jQuery中測試過。它會與out ** scriptmanager **一起使用。問題出在您的方法.check阿賈克斯電話。 –

相關問題