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

本文关键字:ASP NET 无效 字符 返回 WebMethod parse JSON | 更新日期: 2023-09-27 18:36:04

在一个 ASP.NET 的Web应用程序中,我有一个WebMethod。我从jQuery AJAX发布请求调用这个Web方法。我想将结果作为 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并返回它。

我有客户端

    $.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 运行时错误:无效字符

我尝试自己编写 json 字符串,但仍然不起作用。

谢谢

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

问题是我必须使用result.d

所以代码将是

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