0

多年来,我一直使用 MVC 调用这样的方法,没有任何问题。每当我尝试通过 asmx Web 服务调用它们时,我都会遇到各种不同的错误。这些都没有为我的问题提供任何真正的线索。任何帮助,将不胜感激。我尝试添加 ScriptMethod、更改属性等。没有任何效果。WTF 我在这里失踪了吗?

这是我的jQuery代码

   function savePerson() {
        $.ajax({
            type: "POST",
            url: "Service.asmx/SavePerson",
            data: "{'Name': 'Jim','Age': '32'}",
            contentType: "application/json; charset=utf-8",
            dataType:"json",
            success: function (response) {
                var data = response.d;
                $('#output').html(data)
            },
            failure: function (msg) {
                $('#output').text(msg);
            }
        });

这是我的网络服务代码

[WebMethod]
public string SavePerson(Person p)
{
    return p.Name + " was saved successfully.";
}
4

1 回答 1

0

它确实需要是 aScriptMethod才能从 JavaScript 调用它;我怀疑另一个问题是您的参数 - ASMX 方法不会执行 MVC 方法将执行的自动映射,因此您需要显式发送具有适当名称和字段的对象,或实现采用属性的方法单独并构造适当的对象服务器端。

于 2013-01-25T16:37:46.330 回答