Ajax POST 从 ashx 页面返回未定义的错误

问题描述

我一直收到未定义的错误。这里是ajax方法

function testing() {
    var data = JSON.stringify(
        {
            "TestID1": "12345","TestID2": "12345","TestID3": "12345",});
    $.ajax({
        type: "POST",url: "Test.ashx",data: data,//async: false,//cache: false,contentType: "application/json; charset=utf-8",dataType: "json",success: function (response) {
            alert(response.ID);
        },error: function (jqXHR,textStatus,errorThrown) {
            alert(jqXHR.status);
            alert(textStatus);
            alert(errorThrown);
        }
    });
}

这是控制器/处理程序。

        public void ProcessRequest(HttpContext context)
        {
            string jsonString = String.Empty;
            HttpContext.Current.Request.InputStream.Position = 0;
            using (StreamReader inputStream = new StreamReader(HttpContext.Current.Request.InputStream))
            {
                jsonString = inputStream.ReadToEnd();
                JavaScriptSerializer jSerialize = new JavaScriptSerializer();
                var receipt = jSerialize.Deserialize<Receipt>(jsonString);

                if (receipt != null)
                {
                    InsertData(receipt.TestID1,receipt.TestID1,receipt.TestID1);
                    var wrapper = new { ID = receipt.TestID1};
                    context.Response.Write(JsonConvert.SerializeObject(wrapper));
                    //context.Response.Write("{ \"data\": [1,2,3] }");
                    //context.Response.End();
                }
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }

现在我收到未定义的错误,但直到最近我才收到“JSON.parse:JSON 数据的第 1 行第 1 列的数据意外结束”。正在发布的数据正在工作,因为 InsertData() 函数插入了正确的数据。我还尝试将 ajax 方法中的异步函数设置为 false,但没有成功。此外,尝试发送特定的回复(如注释掉的回复),但到目前为止都没有成功。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)