2013-10-22 62 views
1

我想使用POST将变量从javascript传递到php,我正在做类似以下的事情。我view1.php在javascript中使用ajax将变量从javascript传递到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> 

在同一个文件中我有下面的代码调用测试()

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

在create.php我

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

对于create.php我得到这个错误“未定义索引:ad_id”。任何人都可以指导我犯错的地方吗?

+0

在阿贾克斯你也没能逃脱你的网址:“”,你应该确定没有逃脱的dataType – Svetoslav

回答

1

您已经错过了在PHP代码semicolumn并在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)}, 
}); 

使用上面的代码。

+1

网址太 – Svetoslav

+1

@Svetlio现在我已经做了。数据值也相同。 –

+0

不,我已经尝试过分号,冒号,引号几乎都是引号,但是它给出了同样的错误“未定义索引:ad_id” – prattom

0

您的URL或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>