在阿贾克斯数据

在阿贾克斯数据

问题描述:

最大要素所以我有这样的代码在阿贾克斯数据

function saveData(field){ 

value_insert = $("#"+field).val(); 
<?php echo "num_to_change =".$_SESSION['numero_paciente'].";";?> 
<?php echo "hospital_to_change ='".$_SESSION['hospital']."';";?> 

console.log(value_insert+" "+num_to_change+" "+field+" "+hospital_to_change); 

$.ajax({ 
     data: {"num_to_change" : num_to_change, "hospital_to_change" : hospital_to_change,"field" : field, "value_insert": value_insert}, 
     type: "POST", 
     dataType: "json", 
     url: "saveVariables.php", 
    }) 
    .done(function(data, textStatus, jqXHR) { 
     console.log("Correct."); 
     console.log(data); 
    }) 
    .fail(function(jqXHR, textStatus, errorThrown) { 
     console.log("Error: " + textStatus); 
    }); 

}

我想要做的就是发送到 “saveVariables.php” 变量:

  • 字段,我直接从触发这个函数的输入中获得
  • value_insert,我用jquery从与前面相同的输入中获得
  • num_to_change,这是我从一个会话变量
  • hospital_to_change,这是我从一个会话变量获得以及

但得到有时候,大部分的时间,但并不是所有的时间(这是推动我疯了)我得到这样的结果:“错误:parsererror”我的代码

一批好奇的行为:

  • 如果我删除我甲肝的要素之一e发送(字段,num_to_change,value_insert或hospital_to_change)它可以顺利运行。只要我再次添加var(我需要全部4个),它会再次抛出相同的错误

  • 它总是不会发生。比方说90%的时间。我总是尝试相同的价值观。

额外信息:

  1. 的 “执行console.log” 你在第7行看到总是显示正确的价值观的4个变量里面

  2. 我不发送的信息吨它总是类似于:

    • value_insert - > 23

    • hospital_to_change - > Primero的

    • num_to_change - > 22

    • 场 - >毫米汞柱

,删除一个变量使代码工作的事情混淆我.. 。我能以这种方式发送最大数量的变量吗?它没有任何意义,因为有时候工作,但我想不出别的anythig ..


已经解决:

错误“错误:parseerror”正被我的PHP代码发送,不是我的ajax,所以现在我一步一步地开始我的php代码,一切正常。

+0

你不需要'JSON.stringify()'你发送的数据吗? – vlaz

+1

请提供实际发生错误的PHP代码。 –

+1

''错误:parsererror“'意味着你的服务器不会返回有效的JSON记法 –

$.ajax({ 
    data: {"num_to_change" : num_to_change, "hospital_to_change" : hospital_to_change,"field" : field, "value_insert": value_insert}, 
    type: "POST", 
    dataType: "application/json", 
    url: "saveVariables.php", 
}) 
.done(function(data, textStatus, jqXHR) { 
    var res = $.parseJSON(data); 
    console.log(res); 
}) 
.fail(function(jqXHR, textStatus, errorThrown) { 
    console.log("Error: " + textStatus); 
}); 

你的代码似乎很好,我很少修改它。尝试一次