2014-01-07 216 views
0

我正在使用jquery ajax函数,我从成功函数中的服务器接收数据,但给我这个错误JSON.parse:JSON数据后意外的非空白字符,我验证了我的json以确保该服务器在正确JSON格式parse.Parse不能正常工作

<script type="text/javascript"> 
    $(document).ready(function() { 
     $.ajax({ 
      url: "WebForm1.aspx", 
      type: "POST", 
      datatype: "json", 
      success: function(data) { 

       var reuslt = $.parseJSON(data); 
       alert(reuslt.CustomerID); 

      } 
     }); 
    }); 

在WebForm1.aspx的

protected void Page_Load(object sender, EventArgs e) 
     { 
      Customer c = new Customer(); 
      c.CustomerID = "1"; 
      c.ContactName = "Jhon"; 
      c.CompanyName = "Dell"; 
      JavaScriptSerializer serializer = new JavaScriptSerializer(); 
      String response = serializer.Serialize(c); 
      Response.Write(response); 

      } 

客户类

编码
public class Customer 
    { 
     public string CustomerID { get; set; } 
     public string CompanyName { get; set; } 
     public string ContactName { get; set; } 

    } 

回答

1

使用dataType: "json",代替datatype: "json",dataType应该是camelCase

$.ajax()

+0

我已经改变的东西你提到,但仍然得到错误,但错误的这次性质是不同的,现在我面临的问题是,它会在误差函数ajax和显示json解析错误 – Ali

+0

显示我得到哪种错误类型? –

0

如果使用dataType: 'json',不需要手工解析。这应该是代码:

$(document).ready(function() { 
    $.ajax({ 
     url: "WebForm1.aspx", 
     type: "POST", 
     dataType: "json",  //camel case 
     success: function(data) { 
      var reuslt = data;  //No parsing 
      alert(reuslt.CustomerID); 
     } 
    }); 
}); 

干杯

+0

在做出上述变更后,未调用成功功能并且在错误功能中显示以下结果readyState = 4且status = 200 – Ali