簡體   English   中英

將JavaScript變量(數組)傳遞給php

[英]Passing javascript variables(array) to php

我有一個函數,其中用戶輸入存儲在javascript中的變量中。

 $('#btnsubmit').click(function() { var seat = [], item; $.each($('#place li.' + settings.selectingSeatCss + ' a'), function (index, value) { item = $(this).attr('title'); seat.push(item); }); var bookseats = seat; $.ajax({ type: 'POST', url: 'confirm.php', data: {'bookseats': bookseats}, }); }); 

當用戶單擊#btnsubmit按鈕時,我想將此變量(實際上是一個數組)發送到名為Confirm.php的PHP文件。

 <form method="POST" action="confirm.php"> <div align="center"><input type="Submit" id="btnsubmit" value="Submit" /></div> </form> 

在我的PHP文件中,我編寫了如下代碼來獲取發送的變量。

$bookseats = "";

if(isset($_POST['bookseats']))
{
    $bookseats = $_POST["bookseats"];
    print_r($bookseats);
}

執行后,PHP文件中沒有任何反應(不打印bookseats )。此代碼是否有問題?

您沒有使用“成功”回調來獲取PHP代碼的輸出。 查看success回調

$.ajax({
  type: 'POST',
  url: 'confirm.php',
  data: {'bookseats': bookseats},
  success: function(data) {
     console.log(data); // or alert(data);
  }
});

另外,我認為您應該停止傳播按鈕的默認行為,以防止瀏覽器將頁面重定向到表單的操作URL:

$('#btnsubmit').click(function(ev) {
    ev.preventDefault();

正如@Malovich指出的那樣,從jQuery 1.8開始,您還可以使用.then()

$.ajax({
  type: 'POST',
  url: 'confirm.php',
  data: {'bookseats': bookseats}
}).then(function(data) {
  console.log(data); // or alert(data);
}, function(){ 
  console.log("Error");
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM