我开始讨厌AJax,我发现在使用jQuery发布时很难获得任何有用的信息。
我有一个脚本,可以在单击按钮时添加或删除一些信息。 jquery发布到调用类中函数的文件。这部分有效,但我无法获得成功的消息来操纵前端。这是我的代码。
php有效,但我一直收到错误JSON.parse:我用google搜索的意外字符,但我的json看起来还不错?
的jQuery
$('.fave').click(function(){
var favId = $(this).attr('data-user-fave');
var params = {};
params['fave_id'] = favId;
params['fav_flag'] = '1';
$.post('index.php?link=my_applications', params, function(data){
var data = $.parseJSON(data);
if(data.message === 'success'){
alert(data.flag);
}
else{
alert("Fail");
}
});
jQuery发布到
的文件中的代码$profile = new profile();
if($_POST['fav_flag'] == '1'){
$js = $profile->fave_user();
echo json_encode($js);
}
班级档案中的功能
function fave_user(){
$query = "SELECT * FROM `favourite` WHERE user_id = '{$_SESSION['loginArr']['user_id']}' AND fave_id = '{$_POST['fave_Id']}'";
$nr = $GLOBALS['DB']->num_rows($query);
if($nr >= 1){
//exists so remove
$query = "DELETE FROM `favourites` WHERE user_id = '{$_SESSION['loginArr']['user_id']}' AND fave_id='{$_POST['fave_Id']}'";
$GLOBALS['DB']->deleteQuery($query);
$return["message"]="success";
$return["flag"]="del";
return $return;
}
else{
//not a fave so add
$query = "INSERT INTO `favourite` (user_id, fave_id) VALUES ('{$_SESSION['loginArr']['user_id']}', '{$_POST['fave_id']}')";
$GLOBALS['DB']->insertQuery($query);
$return["message"]="success";
$return["flag"]="ins";
return $return;
}
}
答案 0 :(得分:0)
我建议使用$.ajax
方法:它更先进。