在阿贾克斯数据
问题描述:
最大要素所以我有这样的代码在阿贾克斯数据
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%的时间。我总是尝试相同的价值观。
额外信息:
的 “执行console.log” 你在第7行看到总是显示正确的价值观的4个变量里面
-
我不发送的信息吨它总是类似于:
value_insert - > 23
hospital_to_change - > Primero的
num_to_change - > 22
场 - >毫米汞柱
,删除一个变量使代码工作的事情混淆我.. 。我能以这种方式发送最大数量的变量吗?它没有任何意义,因为有时候工作,但我想不出别的anythig ..
已经解决:
错误“错误:parseerror”正被我的PHP代码发送,不是我的ajax,所以现在我一步一步地开始我的php代码,一切正常。
答
$.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);
});
你的代码似乎很好,我很少修改它。尝试一次
你不需要'JSON.stringify()'你发送的数据吗? – vlaz
请提供实际发生错误的PHP代码。 –
''错误:parsererror“'意味着你的服务器不会返回有效的JSON记法 –