我有一个函数,用户输入存储在javascript中的变量中。
private string _X;
public object X
{
get { return _X; }
set
{
var a = ((ListBoxItem)value).Content as TextBlock;
_X = a.Text;
NotifyOfPropertyChange("X");
}
}
当用户点击$('#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},
});
});
按钮时,我想将此变量(实际上是一个数组)发送到名为confirm.php的PHP文件。
#btnsubmit
在我的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);
}
)。此代码有问题吗?
答案 0 :(得分:0)
您没有使用“成功”回调来获取PHP代码的输出。见success
callback
$.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");
});