在进行简单的ajax调用时遇到一些问题

本文关键字:遇到 问题 调用 ajax 简单 | 更新日期: 2023-09-27 18:28:49

我开始将东西切换到[WebMethod] s,但开始遇到问题,并决定需要对如何正确使用它们进行更多的研究。

我在$(document).ready() 中放入以下内容

                $.ajax({
                type: "POST",
                data: "{}",
                url: "http://localhost:3859/Default.aspx/ajxTest",
                dataType: "json",
                success: function (msg, status) {
                    alert(msg.name + " " + msg.value);
                },
                error: function (xhr, status, error) {
                    var somethingDarkside; //only to put a breakpoint in.
                    alert(xhr.statusText);
                }
            });

我的[WebMethod]

    [WebMethod]
    public static string ajxTest()
    {
        JavaScriptSerializer ser = new JavaScriptSerializer();
        DummyString dum = new DummyString("Please","Work");
        string jsonString = ser.Serialize(dum);
        return jsonString;
    }

我从来没有得到"请工作"。我得到了"undefined-undefined",我可以在VS中调试,调用进入[WebMethod],返回字符串看起来对JSON是正确的,但我还没能成功调用它。我有解析错误,传输错误。一切都不一致,但从来没有一件事是对的。我有多达47个不同的博客,所以今天的帖子和谷歌群组标签,我不能完全破解它

xhr.statusText的状态与发布状态一样。我收到一个status解析错误。我迷路了。

提前谢谢。

编辑:jQuery 1.9.1

EDIT2:DummyString对象

        public class DummyString
    {
        public string name { get; set; }
        public string value { get; set; }
        public DummyString(string n, string v)
        {
            name = n;
            value = v;
        }
    }

编辑3:我还有<asp:ScriptManager EnablePageMethods="true" ...

在进行简单的ajax调用时遇到一些问题

简化为:

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

[WebMethod]
public static string ajxTest()
{
    return @"{ ""hello"":""hola"" }";
}

和测试。(以上将起作用)

.d参数中的服务返回响应尝试遵循

msg.d.name