【发布时间】:2012-01-04 10:23:33
【问题描述】:
三天过去了,仍然无法让这些东西正常工作。 在发送 JSON 数据时,我的 js 文件上的这个 AJAX 调用似乎有效:
var _lname = $('#ptLastName').val();
var _fname = $('#ptFirstName').val();
var _mname = $('#ptMiddleName').val();
var _gender = $('#ptGender').val();
var _bday = $('input[name="birthdate"]').val(); // $('#ptBirthDate').val();
var _ssn = $('#ptSSN').val();
$.ajax({
type: "POST",
url: ".././CheckPerson.php",
data: "{'lastName':'" + _lname + "','firstName':'" + _fname + "','middleName':'" + _mname + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var res = response.d;
if (res == true) {
jAlert('Person Name already exists!', 'Error');
return;
}
})
但在我的 PHP 文件中:
$lastname = json_decode($_POST['lastName']);
$firstname = json_decode($_POST['firstName']);
$middlename = json_decode($_POST['middleName']);
$response = array();
mysql_connect ("*****", "****") or die ('Error: ' . mysql_error());
mysql_select_db ("********");
$query = "SELECT Lastname, Firstname, MiddleName FROM tbl_people WHERE Lastname = '$lastname' || Firstname = '$firstname' || MiddleName = '$middlename'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
if ($row) {
$response = json_encode(array('d' => true, 'test' => $lastname));
}
else {
$response = json_encode(array('d' => false, 'test' => $lastname));
}
echo $response;
print json_encode($_POST);
萤火虫控制台的一些错误说:
<br />
<b>Notice</b>: Undefined index: lastName in <b>C:\xampp\htdocs\..\CheckPerson.php</b> on line <b>2</b><br />
<br />
<b>Notice</b>: Undefined index: firstName in <b>C:\xampp\htdocs\..\CheckPerson.php</b> on line <b>3</b><br />
<br />
<b>Notice</b>: Undefined index: middleName in <b>C:\xampp\htdocs\..\CheckPerson.php</b> on line <b>4</b><br />
{"d":false,"test":null}[]
我相信 json_decode() 在我的 php 文件中工作正常,但 $_POST[''] 无法识别我发布的来自我的 ajax 调用 w/c 变量已声明的数据:
data: "{'lastName':'" + _lname + "','firstName':'" + _fname + "','middleName':'" + _mname + "'}",
我相信我的代码做得对,似乎我在这里阅读了很多问题并按照他们所说的做了,但不知道为什么会发生错误。 你有没有看到任何问题/错误?请告诉我。
【问题讨论】: