2012-04-01 24 views
2

jquery ajaxメソッドを使用して、そのメソッドからaspページメソッドに電子メールを送信していますが、もし誰かがこれを処理する方法を知っていれば助けてください。無効なJSONプリミティブ:jquery ajaxメソッドからasp.netのポスト値を取得するときにエラーが発生する

$.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; 

    } 

答えて

2

1)($のアヤックスでデータ部分を交換してください)これで:

data: {"EmailAddress": "'" + email.toString() + "'"} 

2)あなたの署名を交換してくださいWebMethod with this:

public static string DNSValidation(string EmailAddress) 
{ 
    Address product = new Address(); 
    product.emailaddress = EmailAddress; 
    string output = JsonConvert.SerializeObject(product);   
    return output; 
} 
関連する問題