我遇到了jquery的问题,我有像这样的代码php
if($record2==0)
{
if($tmp_curr==$curr)
{
$reqvendor->inserttmp($json);
$json[] = array('stat' => true, 'msg' => '');
//$app['data'] = true;
//var_dump($reqvendor->inserttmp($json));
}
else
{
$json[]= array('stat' => false, 'msg' => 'Currency not same');
//$app[0] ='satu';
}
}
else
{
$json[] = array('stat' => false, 'msg' => 'PO Allready Input, try another PO');
}
//var_dump($app);
echo json_encode($json);
我有像这样的jquery
$.ajax
({
type: "POST",
url: host+"datatable/tmp_po",
data: dataString,
cache: false,
success: function(json)
{
if(json['stat']=="false")
{
swal({
title: json['msg'],
type : "warning"
});
}
else
{
$('#tbl_tmppo').DataTable().ajax.reload();
}
}
});
我所持的是如果json ['stat']为假,json ['msg']会显示,但我的问题是我不能调用json ['stat']或者json ['msg'],它总会show undi
在控制台上被罚款。如果我在console.log(json)它会显示{"data":true,"msg":""}
我如何调用json ['stat']或json ['msg']?我是在做jquery还是在php?
EDIT 我试试
json.stat reslust undefined
json[0] result "{" //dont why show that :/
json[stat] result not found
json["stat"] result undefined
json['stat'] result undefined
json resulst {"data":true,"msg":""}
UPDATE 我正在使用此解决方案Get data from php array - AJAX - jQuery。这是工作!!!
答案 0 :(得分:0)
数据类型不匹配。从PHP返回的json['stats']
是布尔类型。但在你的if(json['stat']=="false")
双引号中,false是字符串。
因此您可以使用if(json['stat'] === false)
解决此问题。
只需在if条件中从false
删除双引号(")。