【发布时间】:2013-10-23 06:01:14
【问题描述】:
我有一个 HTML 表单,并在点击提交按钮时将数据发送到 php 文件。
$.ajax({
url: "text.php",
type: "POST",
data: {
amount: amount,
firstName: firstName,
lastName: lastName,
email: email
},
dataType: "JSON",
success: function (data) {
console.log("ok");
$("#result").text(data);
}
});
在 PHP 中:
<?php
$amount = $_POST["amount"];
$firstName = $_POST["firstName"];
$lastName = $_POST["lastName"];
$email = $_POST["email"];
if(isset($amount)){
$data = array(
"amount" => $amount,
"firstName" => $firstName,
"lastName" => $lastName,
"email" => $email
);
echo json_encode($data);
}
?>
结果是[object object]。我想要这样的类型:
{"Amount":"12.34", "FirstName":"Any", "LastName":"Tester", "Email":"a.test@something.com"}
我做错了什么?
【问题讨论】:
-
The result is [object object]... 是的,如果 JS 将对象强制转换为字符串,就会得到这样的结果。您的 JSON 可能是正确的;你只是没有正确地检查它。尝试改用console.log()。此外,使用开发工具查看 PHP 发回的 http 响应——您应该能够准确地看到数据的样子。 -
在开发工具方面,您可以试一试 FirePHP4Chrome。
-
您是否将 PHP 的内容标头设置为 application/json?
-
我同意 Spudley 的观点,如果您只是想确保尝试 console.log 或提醒 data.Amount 或 data.FirstName,它会给您带来价值。
标签: javascript php jquery ajax json