【发布时间】:2012-11-12 21:31:18
【问题描述】:
我对 ajax 的耐心已经消失了。无论如何不能让这个工作。老实说,我没有在 DIV 之外尝试过此操作,因为其目的是专门使用 AJAX 将表单加载并发布到所述 DIV 范围内的页面。
非常感谢您对未来的发展。
#contentmainpane 是一个 DIV。我有……
if (isset($_POST['l'])) {
echo $_POST['l']; }
else {
echo 'nope'; }
... 在 CART 页面中加载正常,但没有收到来自 BOOK 页面的帖子(所以我在 #contentmainpane DIV 中的 CART.PHP 上没有得到回应)。 这是有问题的 BOOK 页面代码:
<form id="form1" method="POST">
<input id="l" name="l" size="45" type="text" value="book">
<input id="submit" name="submit" value="save" type="submit">
</form>
<script>
$('#form1').submit(function(event){
event.preventDefault();
var book = $('#book').serialize();
var cart = '/content/pages/cart.php';
var formdata = {"book": book}
$.ajax({
type: "POST",
url : "/content/pages/cart.php"
data: formdata,
success: function(msg){
$("#contentmainpane").load(cart);
}
});
});
</script>
【问题讨论】:
-
在您的 ajax 参数中,尝试使用
data:book而不是data:formdata。您正在将您的帖子参数包装在另一个名为“book”的帖子参数中。 -
如果你想知道在你的 PHP 脚本中使用 var_dump($_POST) 会发生什么
-
当您使用序列化时,它会自动添加字段名称和值。无需添加变量formdata
-
我不知道为什么您的耐心消失了,您的耐心又是如何消失的。要使代码正常工作,还有很多事情要做。请参阅下面的答案,所有这些都是合理的。 .
-
data: {'l': book} 是我得到的建议。啊。我相信我已经尝试了网络上不同示例的所有组合和排列。我试过IE和Firefox来测试。