这是ajax代码,询问用户是否存在于数据库中。答案还可以:
{"exists":true}
但代码在POINT 1上失败
$.post('http://lajmetari.info/icb/modules/mod_facebook/tmpl/search.php',{user_id: '655879565'}, function(data){
if(data.exists){ // POINT 1
console.log('PO');
$('#container_like').show();
$('#container_notlike').hide();
$("#erresira").remove();
$("#popup").remove();
}else{
console.log('JO');
var loadUrl = "http://lajmetari.info/icb/modules/mod_facebook/tmpl/ajax.php";
$("#result").html(ajax_load).load(loadUrl+"?user_id=" + user_id);
$('#container_like').hide();
$('#container_notlike').show();
}
}, 'JSON');
});
谁能告诉我为什么?
谢谢你!答案 0 :(得分:1)
也许不是仅使用true / false变量返回JSON对象,而是当用户不存在时,可以从服务器返回404 http状态代码,而当它有一些数据时,可以返回200状态代码。
$.post('http://lajmetari.info/icb/modules/mod_facebook/tmpl/search.php',{ user_id: '655879565' })
.done(function(data){
console.log('PO');
$('#container_like').show();
$('#container_notlike').hide();
$("#erresira").remove();
$("#popup").remove();
})
.fail(function(){
console.log('JO');
var loadUrl = "http://lajmetari.info/icb/modules/mod_facebook/tmpl/ajax.php";
$("#result").html(ajax_load).load(loadUrl+"?user_id=" + user_id);
$('#container_like').hide();
$('#container_notlike').show();
})
然后你将有一个明确的方法来处理真/假案件。
在php中你可以为404做这样的事情:
<?php
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
header("Status: 404 Not Found");
$_SERVER['REDIRECT_STATUS'] = 404;
?> <!-- 404 contents below this line -->
答案 1 :(得分:0)
尝试:
if(data){
var obj = $.parseJSON(data);
if(obj.exists){
}else{
}
}