如何使用AJAX将阵列发布到Web服务

时间:2016-04-12 10:29:50

标签: jquery asp.net ajax web-services google-chrome-extension

我正在使用Google Chrome扩展程序。我有字符串数组,我需要将我的数组发布到带有ajax的web服务并再次返回。这是我的代码:

 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;
    }

我没有收到错误,但此代码无效。我怎么解决?

3 个答案:

答案 0 :(得分: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);
    }
});

答案 1 :(得分:0)

在服务文件中返回字符串时尝试使用 Json Encode

答案 2 :(得分: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;
    }
相关问题