我正在使用jquery ajax方法并将电子邮件从该方法发送到asp页面方法,但收到无效的Json基元错误我使用了以下代码,如果有人知道如何处理此问题,请提供帮助。
$.ajax({
url: "login.aspx/DNSValidation",
type: 'POST',
cache: false,
dataType: 'json',
data: {"EmailAddress":email.toString()},
contentType: "application/json; charset=utf-8",
timeout: 6000,
error: function () {
alert('AJAX Request Failed');
ajaxInProgress = false;
},
success: function (responseData) {
Console.debug("Email : " + responseData.d);
ajaxInProgress = false;
}
}); //ajax
login.aspx页面代码
[WebMethod]
public static string DNSValidation(object EmailAddress)
{
List<object> eMail = new JavaScriptSerializer().ConvertToType<List<object>>(EmailAddress);
Address product = new Address();
product.emailaddress = eMail[0].ToString();
string output = JsonConvert.SerializeObject(product);
return output;
}
最佳答案
1) 将 $.ajax() 中的数据部分替换为:
data: {"EmailAddress": "'" + email.toString() + "'"}
2) 将您的 WebMethod 的签名替换为:
public static string DNSValidation(string EmailAddress)
{
Address product = new Address();
product.emailaddress = EmailAddress;
string output = JsonConvert.SerializeObject(product);
return output;
}
关于asp.net - jquery ajax 方法中的无效 JSON 原语 : error when get the post values in asp.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9963884/