我有以下问题。
我写了一个ajax请求,我的PHP文件进行了一些检查,并返回我用json_encode()回显的数组或常规回显。这取决于我的PHP文件进行检查的结果。我的问题如下:
当我发出我的Ajax请求时dataType: "json"
,似乎只有在我json_encode($array)
从PHP文件返回一些内容时,它才有效。如果我回显正常数据,jQuery将无法正常工作。
一个小例子:
$.ajax(
{
type: "get",
dataType: "json",
url: "check_basket.php",
data: {bought : bought, pid : pid, cid : cid, csid : csid, lang : lang},
success: function(data){
if(data.status == '1'){
alert(data.b);
} else if(data.status == '2'){
alert(data.b);
} else {
$("#dropdown_shopping_cart_inner").html(data);
$('#head_shopping_cart').load(document.URL + ' #head_shopping_cart');
$('#dropdown_shopping_cart').slideDown(800);
}
}
}
);
在我的PHP中,我这样说:
if(get_date_last_purchased($pid) == true){
$arr = array('status' => 1, 'b' => 'test1');
echo json_encode($arr);
}
elseif($bought > $row0['gm_max_order']){
$arr = array('status' => 2, 'b' => 'test2');
echo json_encode($arr);
} else {
echo "everything ok";
}
如果首先发生两种情况之一,并且状态1或2返回到我的JQuery,则一切正常。但是,当第三个PHP条件发生并且我的PHP仅返回echo json_encode
not时,Jquery只会执行任何操作。
有什么建议?
您有两种选择。
dataType: "json"
从此处删除。json_encode("$output")
在此处添加。另外,您可以发送null
包装在其中的空值或值[]
,因为jQuery将其作为脚本执行。对于服务器端的解决方案,我会说:
echo '["everything ok"]';
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句