asp.net - jquery ajax 方法中的无效 JSON 原语 : error when get the post values in asp.net

标签 asp.net jquery

我正在使用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/

相关文章:

javascript - 为什么我的 javascript 函数被完全忽略? (非常简单的例子)

c# - 如何在 C# 中找到两个标记字符之间的可变长度字符串?

asp.net - 展开时在 TreeView 的每个子节点前动态创建 TextBox

c# - 从 C# 中的 CreateProcessAsUser 捕获标准输出

javascript - 如何使 Adsense 广告与响应式网站配合使用

jQuery 扩展函数

jquery - 可访问性问题 - 链接不会跳转或展开以显示隐藏内容

javascript - 在 Profiles 方面,jQuery 是否有与 Dojo 类似的方法?

c# - Asp.NET 在发布到 IIS 服务器时显示 "The Directory is invalid"

c# - 将 VirtualPathProvider 用于简单的静态文件