我正在使用新的使用AJAX和PHP我試圖發送一個post請求到一個名爲insertvalue.php的文件。我已經創建了表和數據庫。我試圖通過ajax從jquery滑塊獲取值,然後將該值插入到mysql表中。之後,我想從mysql表中返回結果。SyntaxError:JSON.parse:嘗試插入到mysql時JSON數據的第1列第1列的意外字符
當我嘗試運行腳本時,出現錯誤「SyntaxError:JSON.parse:JSON數據的第1行第1列出現意外字符」。我檢查了,我不確定我做錯了什麼。任何援助將不勝感激。謝謝!
db_connect.php
$connect = mysqli_connect("localhost", "private", "private", "private");
// fake credentials for posting
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$createTable = "
CREATE TABLE IF NOT EXISTS ClassValues (
question VARCHAR(40) NOT NULL,
slider_value INT(50) NOT NULL
)
";
if ($connect->query($createTable) === TRUE) {
// echo "Table ClassValues created successfully";
} else {
echo "Error creating table: " . $connect->error;
}
JS使用Ajax文件發送JS到PHP
$.ajax({
url: 'php/insertvalue.php',
data: { 'one': value }, // slider value
type: 'post',
dataType: 'json',
success: function(x) {
alert(x.one);
},
error: function(request, status, error) {
alert(error);
}
});
insertvalue.php
include 'db_connect.php'; // database connection
$one = $_POST['one'];
$array = array('one'=>$one);
echo json_encode($array);
$query = "INSERT INTO ClassValues (question, slider_value) VALUES('Question 1', $one)";
mysql_query($query);
$selection = "SELECT slider_value FROM ClassValues";
$result = $conn->query($selection);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "slider_value" . $row["slider_value"] . "<br/>";
}
} else {
echo "0 results";
}
$conn->close();
'dataType'是您期待回來的數據類型。所以你告訴jQuery將響應解析爲JSON。但insertvalue.php不返回JSON,它返回html。 –
好的。我應該將數據類型編輯爲html嗎? – LadyT