【问题标题】:Passing variable from javascript to PHP using ajax in yii在 yii 中使用 ajax 将变量从 javascript 传递到 PHP
【发布时间】:2013-10-22 12:27:10
【问题描述】:

我想使用 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>

在同一个文件中,我有以下代码调用 testing()

function(){
testing($(this).parent().parent().children(\':nth-child(2)\').text());
 }

在 create.php 我有

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

对于 create.php,我收到此错误“未定义的索引:ad_id”。谁能指导我在哪里犯错?

【问题讨论】:

  • 在 .ajax 你没有转义你的 url: '' 并且你应该定义 dataType

标签: javascript php jquery yii


【解决方案1】:

你错过了php代码中的分号,还在ajax请求中定义了dataType:

$.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)},
});

使用上面的代码。

【讨论】:

  • @Svetlio 现在我已经完成了。数据值也一样。
  • 不,我已经尝试过几乎所有的分号、冒号、引号,但它给出了同样的错误“未定义索引:ad_id”
  • 是的,我将您的代码复制到了我的文件中,但它给出了同样的错误。
  • @user2673943 您无法直接在视图页面上获取数据,您需要获取控制器操作的数据,然后将其发送到视图页面。可能这就是问题所在。看到这个:stackoverflow.com/questions/12301639/…
  • 好吧,我试过了,我也把 $_POST 改成了 Yii::app()->request->getPost('ad_id');现在没有显示错误,但是当我回显 Yii::app()->request->getPost('ad_id');什么都没有显示。
【解决方案2】:

您的网址或ad_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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多