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);
在 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);