【发布时间】:2016-09-16 15:52:10
【问题描述】:
我想要一个代码来添加或删除数据库书签。
代码已准备就绪,它可以正确地从数据库书签中添加和删除,但是当我调用该函数时,即使代码有效,它也会继续返回 json error 而不是 json success。
我想知道代码有什么问题(我从其他地方得到并适应)因为客户端没有收到正确的值true 或false,它只会触发json beforeSending 和json error.
服务器端:
if($isFavorite) {
// if it's favorite, remove from bookmarks
return json_encode(array("status" => true, "added" => false));
} else {
// if it's not favorite, include into bookmarks
return json_encode(array("status" => false, "added" => true));
}
客户端:
<script>
function addItemToUsersList(userId, type, itemId) {
jQuery.ajax({
'url': 'xxx',
'type': 'GET',
'dataType': 'json',
'data': {userid: userId, type: type, itemid: itemId},
'success': function(data) {
console.log('json success');
},
'beforeSend': function() {
console.log('json beforeSending');
},
'error': function(data) {
console.log('json error');
console.log(data.status + ' ' + data.added);
}
});
}
</script>
console.log(data.status + ' ' + data.added); 线路日志200 undefined
如何为"status" 和"added" 返回正确的值true 或false?
编辑:
json success 从未登录控制台,所以我不知道服务器端发生了什么。我需要知道这一点,因为我需要更改元素的类以显示空星或黄色星。
【问题讨论】:
-
你确定你真的把输出发送给客户端吗?
-
我已经有一段时间没有使用 PHP 了,但你不应该回显 JSON 吗?
echo json_encode(...). -
将它们作为整数发送并在返回时处理它们。发送布尔值是有问题的。
-
json success从未登录控制台,所以我不知道服务器端发生了什么。我需要知道这一点,因为我需要更改元素的类以显示空星或黄色星。
标签: php jquery json ajax wordpress