我不知道我在做什么错误。我有一个对话框,用户可以输入地址,然后单击确定,它会将输入的信息插入数据库。我不断收到“意外的输入结束”错误或“意外标记”错误。我有一种感觉,它与jquery ajax函数中的serialize属性有关,但我不确定。输入错误意外结束,再次
我不知道如何回显变量,看看他们是否从字段或sql语句获取数据。我试了很多,它或者崩溃了页面,或者它给了我相同的“意外”错误。
请帮忙! :(
jQuery代码:
$('#ChangeOfAddress').click(function() {
//change of address dialog
$("#ChangeAddressDialog").dialog({
width:500,
modal:true,
closeOnEscape:true,
buttons: [
{ text: "Ok", type: "submit", click: function() {
$.ajax({
url: "classes/add-address.php",
type: "POST",
data: $("#main_form").serialize(),
dataType: 'json',
error: function(SMLHttpRequest, textStatus, errorThrown){
alert("An error has occurred making the request: " + errorThrown)
},
success: function(result){
//do stuff here on success such as modal info
//$("#main_form").submit();
$(this).dialog("close");
}
})
}
},
{ text: "Close", click: function() { $(this).dialog("close"); } } ]
});//end dialog
});
PHP页面:(EZ SQL INSERT返回一个布尔值)
<?php
require_once('../config.php');
$sqlCheck = '';
$parcel_id = isset($_POST['ParcelId']) ? $_POST['ParcelId'] : null;
$address1 = isset($_POST['Address1']) ? $_POST['Address1'] : null;
$address2 = isset($_POST['Address2']) ? $_POST['Address2'] : null;
$city = isset($_POST['City']) ? $_POST['City'] : null;
$state = isset($_POST['State']) ? $_POST['State'] : null;
$zip = isset($_POST['Zip']) ? $_POST['Zip'] : null;
$country = isset($_POST['Country']) ? $_POST['Country'] : null;
$db = new ezSQL_mysql(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
$result = $db->query("INSERT INTO change_of_address (parcel_id, address_1, address_2, City, State, Zip, Country) VALUES ('" . $parcel_id . "','" . $address1 . "','" . $address2 . "','" . $city . "','" . $state . "','" . $zip . "','" . $country . "')");
if ($result == 1) {
echo true;
} else {
echo false;
}
//$sqlCheck = "INSERT INTO change_of_address (parcel_id, address_1, address_2, City, State, Zip, Country) VALUES ('" . $parcel_id . "','" . $address1 . "','" . $address2 . "','" . $city . "','" . $state . "','" . $zip . "','" . $country . "')";
?>
我尝试添加以下,但它并不会返回任何错误:
error_reporting(E_ALL);
ini_set('display_errors', 'On');
你在哪里得到的错误?在服务器上?或者在浏览器控制台上?它是否说出哪些行号出错? – philtune 2014-12-03 17:40:12
它什么也没说。只是一个警告,说“意外结束输入”错误或“意外的令牌” – maryjane 2014-12-03 17:45:53