Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii2在下拉更改时通过Ajax保存标签帖子_Php_Jquery_Ajax_Yii2 - Fatal编程技术网

Php Yii2在下拉更改时通过Ajax保存标签帖子

Php Yii2在下拉更改时通过Ajax保存标签帖子,php,jquery,ajax,yii2,Php,Jquery,Ajax,Yii2,每次更改Html::DropDownList选项时,我都试图将标记保存在数据库表中。在调试会话中,它将我重定向到ErrorHandler.php,但没有显示错误 我的jQuery: var ddList = $('.dd-list'); var tagList = $('.tag-container'); ddList.on('change', function () { var tagHolder = document.createElement('div'); tagHol

每次更改Html::DropDownList选项时,我都试图将标记保存在数据库表中。在调试会话中,它将我重定向到
ErrorHandler.php
,但没有显示错误

我的jQuery:

var ddList = $('.dd-list');
var tagList = $('.tag-container');

ddList.on('change', function () {
    var tagHolder = document.createElement('div');
    tagHolder.setAttribute('class', 'tag-holder');
    var selected = $('.dd-list option:selected').text();
    tagHolder.setAttribute('id', selected);

    if(tagList.find('div').length > 2){
        alert('You can have most 3 tags!');
        return false;
    };

    if(tagList.find('#'+selected).length){
        return false;
    }else{
        tagHolder.append(selected);
        tagList.append(tagHolder);

        $.ajax({
            method : 'GET',
            dataType : 'text',
            url : '../post/save-tag?tag=' + selected,
            success : function (data) {
                alert("Tag saved: " + data);
            }
        });
    }
});
actionSaveTag:

public function actionSaveTag($tag)
    {
        return \Yii::$app->db->createCommand('INSERT INTO tags(tag_name)
                                            VALUES (' . $tag . ')');
    }
我还尝试了
值($tag)
没有单引号,但结果相同。
我该怎么做?感谢所有建议

在调试->请求,获取中检查是否获取任何内容。尝试$model=new标记()$model->name=您在GET中收到的内容,然后尝试保存,并将其包装在
if(Yii::$app->request->isAjax)
中。如果你几乎是普通人,没有使用框架,为什么要使用Yii2呢?因为我还是新手,不知道哪种方法是正确的:)我只是在查询的最后添加了
->execute()
。但我会尝试更正我的代码并使用更多的Yii2功能:)对不起,伙计,我的手机上有我的电话,我无意冒犯你。我会回来解释的。别担心:)我知道我的问题有时候很愚蠢,但至少我得从某个地方开始:)