【发布时间】:2016-12-29 08:40:56
【问题描述】:
我正在使用新的 AJAX 和 PHP 我正在尝试将发布请求发送到名为 insertvalue.php 的文件。我已经创建了表和数据库。我正在尝试通过 ajax 从 jquery 滑块中获取值,然后将该值插入 mysql 表中。之后,我想从 mysql 表中返回结果。
当我尝试运行脚本时,我收到错误“SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data”。我检查了,我不确定我做错了什么。任何援助将不胜感激。谢谢!
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;
}
用ajax发送js到php的js文件
$.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);
}
});
插入值.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 吗?
标签: javascript php jquery mysql ajax