【发布时间】:2012-08-03 22:21:46
【问题描述】:
//用AJAX发送数据的Jquery代码
$.ajax({
type: "POST",
url: "test.php",
data:
"fname="+ fname +
"& lname="+ lname +
"& address="+ address +
"& city="+ city +
"& state="+ state +
"& zip="+ zip +
"& phone="+ phone +
"& useremail="+ useremail +
//the following values are not being receieved by the php correctly
"& subtotal="+ subTotal +
"& quantity="+ quantity,
success: function(){
$('#oderBtn').hide(function({$('#orderTest').fadeOut();});
}
});
//接收AJAX数据的PHP代码
$fname = htmlspecialchars(trim($_POST['fname']));
$lname = htmlspecialchars(trim($_POST['lname']));
$city = htmlspecialchars(trim($_POST['city']));
$state = htmlspecialchars(trim($_POST['state']));
$zip = htmlspecialchars(trim($_POST['zip']));
$address = htmlspecialchars(trim($_POST['address']));
$email = htmlspecialchars(trim($_POST['useremail']));
//these do not post correctly, i do not know why
$subTotal = htmlspecialchars(trim($_POST['subtotal']));
$quantity = htmlspecialchars(trim($_POST['quantity']));
所以问题是 fname、lname、city、state、zip、address 和 email 都可以工作但小计和数量都不起作用,firebug 让它们都以相同的方式发布,看起来 PHP 是只是没有正确接收数据。
添加回显文件_get_contents("php://input");到 php 确实得到回显的所有内容,包括小计和数量,但只是执行 $_POST['subtotal'] 不会得到值。
感谢您在此问题上的任何帮助。
【问题讨论】:
-
这似乎是一种奇怪的数据格式化方式。您是否尝试过像这样格式化数据:
data: { fname: fname, lname: lname, address: address, ... }?