【问题标题】:getting data from functions when posting with jquery使用 jquery 发布时从函数中获取数据
【发布时间】:2012-07-20 12:22:18
【问题描述】:

我开始讨厌 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;





    }


}

【问题讨论】:

    标签: php jquery json post error-handling


    【解决方案1】:

    我建议使用$.ajax 方法:它更高级。

    【讨论】:

    • 返回错误信息?我的代码是否有错误,或者发布的内容不能满足我的要求?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多