Php Yii2在下拉更改时通过Ajax保存标签帖子
每次更改Html::DropDownList选项时,我都试图将标记保存在数据库表中。在调试会话中,它将我重定向到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
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功能:)对不起,伙计,我的手机上有我的电话,我无意冒犯你。我会回来解释的。别担心:)我知道我的问题有时候很愚蠢,但至少我得从某个地方开始:)