[英]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.