【问题标题】:Yii ajax call and session handlingYii ajax 调用和会话处理
【发布时间】:2015-11-17 14:34:59
【问题描述】:

我卡在 Yii 中,被 Ajax 称为“bug”。问题是,我必须通过复选框进行搜索,这些复选框在点击搜索按钮后存储在 SESSION 中。

在此之后,关键字插入到 SESSION 中,我想在标签云中打印它们。 (角落里有一个十字 -> 删除这个标签)。 这些标签的删除由 ajax 调用处理:

$(".tags a").click(function(e) {
    e.preventDefault();
    var class1 = $(this).attr("class");
    var id = $(this).attr("id");
            $("#checkbox__"+id).removeAttr("checked");

jQuery.ajax({
        url: "recipe/removeFromSession",
        type: "POST",
        data: "id=" + class1+"&rcp="+id,
        dataType: "json",
        "success": function(data){
                    location.reload();
        },
        "error": function(xhr, status, error) {
                        var err = xhr.responseText;
                        alert(xhr.status);
         },
        "cache" : false,
    });
});

它调用 removeFromSession 操作:

public function actionRemoveFromSession() {
    $remove = intval($_POST['id']);

    unset($_SESSION['searchItems']['category'][$remove]);
    unset($_SESSION['recipeSearch']['category'][$_POST['rcp']]);

    echo json_encode($_SESSION);
}

问题在于它不会取消设置值。它仍在会话中。任何想法? (语法错误见谅)

谢谢

【问题讨论】:

    标签: php jquery ajax session yii


    【解决方案1】:

    你可以试试这个:

    设置你的会话:

    Yii::app()->session['searchItems']['category'][$keyword] = "Any string";
    

    取消会话:

    unset(Yii::app()->session['searchItems']['category'][$remove]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 2011-09-19
      • 2017-12-30
      • 2016-12-23
      • 2013-01-20
      • 2014-09-04
      相关资源
      最近更新 更多