asmx 接受 ajax post,javascript - How to send 'data' to ASMX web service via AJAX POST? - Stack Overflo...

For asmx you need to pass a stringified version of the data object, so for example:

var data = "{param1:" + param1IsANumber +

", param2:\"" + param2IsAString + "\"}";

$.ajax({

data: data,

dataType: "json",

url: url,

type: "POST",

contentType: "application/json; charset=utf-8",

success: function (result) {}

});

Or you can hava an object and use jquery-json

var data = {};

data.param1 = 1;

data.param2 = "some string";

$.ajax({

data: jQuery.toJSON(data),

dataType: "json",

url: url,

type: "POST",

contentType: "application/json; charset=utf-8",

success: function (result) {}

});

Finally, your web service class must look like:

[WebService(Namespace = "http://www.somedomainname.com/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[ScriptService]

public class MyService : System.Web.Services.WebService

{

[WebMethod]

[ScriptMethod(ResponseFormat = ResponseFormat.Json)]

public void MyServiceCall(int param1, string param2)

{

}

}