繁体   English   中英

Yii Ajax呼叫和会话处理

[英]Yii ajax call and session handling

我陷在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);
}

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

谢谢

您可以尝试以下方法:

设置会话:

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

取消会话设置:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM