在yii中使用ajax将变量从javascript传递到PHP

在yii中使用ajax将变量从javascript传递到PHP,javascript,php,jquery,yii,Javascript,Php,Jquery,Yii,我想使用POST将变量从javascript传递到php,我正在做如下工作。我看1.php <script> function testing(col) { $("#bookId").val(col); $.ajax({ type: 'POST', url: <?php echo Yii::app()->createUrl('siteaccess/create') ?>, da

我想使用POST将变量从javascript传递到php,我正在做如下工作。我看1.php

 <script>
function testing(col) {
    $("#bookId").val(col);
    $.ajax({
            type: 'POST',
            url: <?php echo Yii::app()->createUrl('siteaccess/create') ?>,
            data: {ad_id:<?php echo "hello" ?>},
            success: function(col){console.log(col)},
    });
}
</script>
在create.php中,我有

<?php 
$v = $_POST['ad_id'];
echo $v;
?>


对于create.php,我得到一个错误“未定义索引:ad_id”。有人能告诉我哪里出错了吗?

您错过了php代码中的半列,并且在ajax请求中定义了数据类型:

$.ajax({
        type: 'POST',
        url: "<?php echo Yii::app()->createUrl('siteaccess/create'); ?>",
        data: {"ad_id":"<?php echo 'hello'; ?>"},
        dataType: 'text',
        success: function(col){console.log(col)},
});
$.ajax({
键入:“POST”,
url:“”,
数据:{“ad_id”:“},
数据类型:“文本”,
成功:函数(col){console.log(col)},
});

使用上述代码。

您错过了php代码中的半列,并且在ajax请求中定义了数据类型:

$.ajax({
        type: 'POST',
        url: "<?php echo Yii::app()->createUrl('siteaccess/create'); ?>",
        data: {"ad_id":"<?php echo 'hello'; ?>"},
        dataType: 'text',
        success: function(col){console.log(col)},
});
$.ajax({
键入:“POST”,
url:“”,
数据:{“ad_id”:“},
数据类型:“文本”,
成功:函数(col){console.log(col)},
});

使用上面的代码。

您的URL或
广告id
都不包含引号,因此无法使用。试试这个:

<script>
function testing(col) {
    $("#bookId").val(col);
    $.ajax({
            type: 'POST',
            url: "<?php echo Yii::app()->createUrl('siteaccess/create') ?>",
            data: {ad_id:"<?php echo "hello" ?>"},
            success: function(col){console.log(col)},
    });
}
</script>

功能测试(col){
$(“#bookId”).val(col);
$.ajax({
键入:“POST”,
url:“”,
数据:{ad_id:”“},
成功:函数(col){console.log(col)},
});
}

您的URL或
广告id
都不包含引号,因此无法使用。试试这个:

<script>
function testing(col) {
    $("#bookId").val(col);
    $.ajax({
            type: 'POST',
            url: "<?php echo Yii::app()->createUrl('siteaccess/create') ?>",
            data: {ad_id:"<?php echo "hello" ?>"},
            success: function(col){console.log(col)},
    });
}
</script>

功能测试(col){
$(“#bookId”).val(col);
$.ajax({
键入:“POST”,
url:“”,
数据:{ad_id:”“},
成功:函数(col){console.log(col)},
});
}

at.ajax您没有转义url:'',您应该定义dataTypeat.ajax您没有转义url:'',您应该定义dataType@Svetlio现在我已经做了。数据值也一样。不,我已经尝试了分号、冒号和倒逗号,但它给出了相同的错误“未定义索引:ad_id”是的,我已将您的代码复制到我的文件中,但它给出了相同的错误。@user2673943您无法直接在“查看”页上获取数据。您需要获取控制器操作的数据,然后将其发送到“查看”页。也许这就是问题所在。看到这个:好的,我也试过了,我把$u POST改成了Yii::app()->request->getPost('ad_id');现在没有显示错误,但当我回显Yii::app()->request->getPost('ad_id');没有显示任何内容。@Svetlio现在我已经完成了。数据值也一样。不,我已经尝试了分号、冒号和倒逗号,但它给出了相同的错误“未定义索引:ad_id”是的,我已将您的代码复制到我的文件中,但它给出了相同的错误。@user2673943您无法直接在“查看”页上获取数据。您需要获取控制器操作的数据,然后将其发送到“查看”页。也许这就是问题所在。看到这个:好的,我也试过了,我把$u POST改成了Yii::app()->request->getPost('ad_id');现在没有显示错误,但当我回显Yii::app()->request->getPost('ad_id');没有显示任何内容。