我正在尝试为Yii2中的内容创建投票,所以我试图使用“ a”标签和小部件使用Ajax插入数据,但使用ajax则无法正常工作,如果没有ajax则可以正常运行。但是当我使用Ajax时,它不起作用,并且控制台中没有错误。 我的查看代码是:
<script type="text/javascript">
$('document').ready(function(){
$('#btn-vote-up' + <?= $pst_id ?>).on("click", function(e){
$.ajax({
type: "POST",
data: {"value" : "Like"},
success: function(msg) {
console.log (<?= $pst_id ?>);
$('#note-up' + <?= $pst_id ?>).load(' #note-up' + <?= $pst_id ?>);
}
});
e.preventDefault();
});
});
</script>
<?= Html::a('<i class="ly-ic-favorite-plus"></i>', '#', [
'class' => 'btn-logout',
'id' => 'btn-vote-up'.$pst_id,
'data' => [
'params' => [
'value' => 'Like',
'pstIDL' => $pst_id,
],
],
]) ;
?>
<?php yii\widgets\Pjax::begin(['id' => 'note-up'.$pst_id]) ?>
<span><?= $total_up ?></span>
<?php yii\widgets\Pjax::end() ?>
我的小部件代码是:
if (Yii::$app->request->post('value') == 'Like')
{
$pstIDL = Yii::$app->request->post('pstIDL');
$modelLIKEPOST = $this->findLikePost($pstIDL);
AxVotePost::VoteUP($modelLIKEPOST, $this->usr_rid, $this->chn_id, $pstIDL);
header('Location: ' .Url::current() );
exit;
}
答案 0 :(得分:1)
进行ajax调用时,您没有发送$pstIDL
值,而仅发送了value
,您可以使用var data=$(this).data('params')
来获取pstIDL
和{ {1}} value
并随通话中的数据一起发送,请参见下文
json