要求JSON解析失败,出现错误解析JSON文件

问题描述:

var objectData ={ 
      "emailAdress" : document.getElementById('emailAddress').value , 
       "password":  document.getElementById('password').value } 

var objectDataString = JSON.stringify(objectData); 
alert(objectDataString); 


    var url = "url"; 
var xmlhttp = new XMLHttpRequest(); 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    alert('connected..'); 
    } 
    }; 
xmlhttp.open("POST",url,true); 
xmlhttp.send(objectDataString); 

     $.ajax({ 

      type: "POST", 
      URL:"login.php", 
      contentType:"application/json", 
      CrossDomain:true, 
      data: JSON.stringify(objectData),  
      dataType: 'json', 
      success: function (data) { 

       alert("success"); 
       var ret = jQuery.parseJSON(data); 
       alert(ret); 

我已经登录表单包含用户名和password.i要转换的是用户输入的信息为JSON并将其发送到解析的server.but越来越JSON错误。无法找到错误。请告诉我在哪里做错了..?我试图从这么多小时,但无法找到。要求JSON解析失败,出现错误解析JSON文件

+0

不可能说出了什么问题,你**没有显示你想要解析的**。显示数据包含的内容,当你试图解析它时。 –

+0

为什么直接使用XHR,*和*使用jQuery的'ajax'?这将发送两次请求。 –

+0

并注意''ajax'没有'CrossDomain'选项。 JavaScript区分大小写。有一个'crossDomain'选项。 –

忽略XHR代码,只是看ajax电话:

  1. 有没有CrossDomain选项。虽然有一个crossDomain选项。 (JavaScript区分大小写。)尽管如此,您可能完全不希望使用该选项。

  2. 你告诉jQuery返回的数据是JSON。这意味着jQuery会在给你data参数给你的成功函数之前解析它。您不需要(或者不想)就可以拨打JSON.parse,这已经为您完成了。 data将被解析数据。