2013-10-22 132 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>