使用数据进行AJAX发布

This is in my default.aspx

        $.ajax({
            url: "Default.aspx/Myfunction",
            dataType: "json",
            type: "POST",
            data: {someParameter: "some value"},
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                alert(data.d);
            },
            error: function (d) {
                alert("error");
            }
        });

And this is in my codebehind:

    [WebMethod]
    public static string Myfunction(string someParameter)
    {
        return "hello";
    }

It keeps going to the error. I see that if I send the Ajax request with null for data and no parameters on the function I get the data "hello" out. So there is some issue in how I send the data, but it is unclear what

Change this line:

data: {someParameter: "some value"},

to:

data: {"someParameter": "some value"},

JSON object properties needs to be enclosed with quotes.

Here is how I do the same thing:

$.ajax({
    type: "POST",
    dataType: "json",
    url: "RouteService.asmx/getRouteData",
    data: { techID: techID, jobID: jobID },
    success: function(msg) {
        processRouteData(msg);
    }

Try removing this line:

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

Put your parameters in quotes

$.ajax({
            url: "Default.aspx/Myfunction",
            dataType: "json",
            type: "POST",
            data: {'someParameter': 'some value'},
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                alert(data.d);
            },
            error: function (d) {
                alert("error");
            }
        });

Data object must be a single string.

data: JSON.stringify({someParameter: "some value"})