我正在使用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;
}
我没有收到错误,但此代码无效。我怎么解决?
答案 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)
我在
中给出了类似的答案根据我的观察
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;
}