0

我开始讨厌 AJax,我发现在使用 jQuery 发布时很难获得任何有用的信息。

我有一个脚本,可以在单击按钮时添加或删除一些信息。jquery 发布到调用类中的函数的文件。这部分有效,但我无法获得成功消息来操作前端。这是我的代码。

php 工作,但我不断收到错误 JSON.parse:我用谷歌搜索的意外字符,但我的 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;





    }


}
4

1 回答 1

0

我建议使用$.ajax方法:它更先进。

于 2012-07-21T13:59:15.283 回答