0

我做了一个 jquery ajax 调用来调用 static page method。它在没有任何参数的情况下工作正常。但是,如果我输入参数,则它不会调用该页面方法。我有以下代码。

JAVASCRIPT

        $.ajax({
        type: 'POST',
        url: 'ItemMaster.aspx/UploadFile',
        contentType: 'application/json; charset=utf-8',
        data: {'path':'mydata'},
        dataType: 'json',
        success: function (msg) {
            alert(msg.d);
        }
    });

页法

    [WebMethod]
    public static string UploadFile(string path)
    {
        return "Success";
    }

是否发生了任何datatype不匹配?我热身谷歌一段时间没有任何成功。请帮忙..

4

2 回答 2

2

您的数据对象需要是 JSON 字符串。尝试

var dataToSend = JSON.stringify({'path':'mydata'});

$.ajax({
    type: 'POST',
    url: 'ItemMaster.aspx/UploadFile',
    contentType: 'application/json; charset=utf-8',
    data: dataToSend,
    dataType: 'json',
    success: function (msg) {
        alert(msg.d);
    }
});

如果您支持旧版浏览器,请务必包含 JSON.js。

于 2013-07-17T12:37:45.873 回答
1

您发送的数据不是 json。删除内容类型,或将数据转换为 json。

我会删除内容类型。

$.ajax({
    type: 'POST',
    url: 'ItemMaster.aspx/UploadFile',
    data: {path:'mydata'}, // you may need to remove the quotes from path here
    success: function (msg) {
        alert(msg.d);
    }
});
于 2013-07-17T12:36:12.503 回答