Php 从JSON检索数据时出现Ajax错误
我正在尝试将数据发送到我的PHP文件,该文件在DB中插入值。这部分是可以的,然后将JSON编码的数据发送回JavaScript文件,这样我就可以显示它们了,但它不起作用。我不知道到底出了什么问题。我一直在看很多有效的例子,但我的不起作用Php 从JSON检索数据时出现Ajax错误,php,jquery,ajax,json,Php,Jquery,Ajax,Json,我正在尝试将数据发送到我的PHP文件,该文件在DB中插入值。这部分是可以的,然后将JSON编码的数据发送回JavaScript文件,这样我就可以显示它们了,但它不起作用。我不知道到底出了什么问题。我一直在看很多有效的例子,但我的不起作用 $.ajax({ type: "POST", dataType: "json", url: "requete.php", data: data, success: function(data) { if
$.ajax({
type: "POST",
dataType: "json",
url: "requete.php",
data: data,
success: function(data) {
if (data.success == true) {
alert(data.message);
}
},
error: function(errorThrown) {
alert('error');
}
});
数据已正确发送到PHP并插入到DB中,但不会显示以下json:
if (isset($_POST['action']) && $_POST['action'] == 'add_attribution') {
$nom = $_POST['nom'];
$date = $_POST['date'];
$montant = (int)$_POST['montant'];
$type = utf8_decode($_POST['type']);
$sql = "insert into bo_depenses (montant,date,personne,description,carte) values('$montant','$date','','$nom','$type')";
$result = mysql_query($sql);
$data = array('success'=> true,'message'=>'Success message: hooray!');
echo json_encode($data);
有了这段代码,控制台将返回带有发送到PHP/MySql的数据的对象
谢谢你的帮助
更新:我通过输入以下错误来获得json结果:
var obj = JSON.stringify(data)
alert(obj);
事实证明,它显示了我发送到PHP脚本中要插入到DB中的第一个值,而不是我用JSON编码的值。。。为什么? 尝试使用
if ($.trim(data.success) == 1)
有时我也会遇到类似的情况,我解决了这个问题,使用这个Put headercontent类型:application/json;在echo之前。放置console.logdata;在成功功能开始时:登录什么?这将告诉您1呼叫是否成功,2完整响应是什么。更新您的问题以显示您的发现。或者使用控制台的“网络”选项卡:requete.php请求是否成功,并将完整的响应发布到您的问题中。尝试使用if data.success==“true”{.php可能会将其转换为字符串。requete.php实际返回的是什么?确保php中没有无关的输出,并且返回的唯一内容绝对是json_编码。ErrorSprown的值是多少?它是否正在进入您的ajax调用的成功块?谢谢,但仍然是相同的。如果改为if data.Success,请尝试将您的成功更改为if data.Success{…}。可能还需要删除数据类型:json