JSON.parse:从 ASP.NET WebMethod 返回时字符无效

JSON.parse: Invalid character when returned from ASP.NET WebMethod

在 ASP.NET 网络应用程序中,我有一个 WebMethod。我从 jQuery AJAX post 请求调用此 Web 方法。我想 return 作为 json 对象的结果。

我的网络方法:

    [WebMethod]
    public static string OnSubmit(string Email, string Message)
    {
        EmailHelper.sendSupportEmail(Email, Message);
        string message = "Thank you for your submission, we will be looking into it as soon as possible.";
        int status = 200;

        JavaScriptSerializer serializer = new JavaScriptSerializer();
        ReturnResult result = new ReturnResult() { Status = status, Message = message };

        return serializer.Serialize(result);
    }

    public class ReturnResult
    {
        public int Status {get;set;}
        public string Message{get;set;}
    }

基本上,我只是调用 sendSupportEmail 函数,然后使用 JavascriptSerializer 将其序列化为 Json 并 return 它。

客户端我有

    $.ajax({
                type: "POST",
                url: "Contact.aspx/OnSubmit",
                data: data,
                contentType: 'application/json; charset=utf-8',
                dataType: 'json',
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert("Oops, we are unable to process your request at this time. Please try again later.");
                },
                success: function (result) {
                    var obj = jQuery.parseJSON(result);
                    var status = obj.Status;
                    var message = obj.Message;

                }
            });

请求成功但是我在 jQuery.parseJSON(result);

上收到错误

JavaScript runtime error: Invalid character

我尝试自己写 json 字符串,但还是不行。

谢谢

问题是我必须使用 result.d

所以代码是

var obj = jQuery.parseJSON(result.d);