javascript - Jquery/Ajax 使用 php 获取数据库
问题描述
我有一个太大的 HTML 页面,无法在此处发布,但是我将发布用于尝试访问 PHP 文件变量的 ajax/jquery。
线程页面.html
<script type="text/javascript">
$.ajax({
url : '/ThreadCreation.php',
type : 'POST',
data: {'titles': titles}
crossDomain: true,
dataType : 'jsonp',
success : function (data) {
console.log(data) /
},
error : function () {
alert("error");
}
})
</script>
<!-- bunch of html -->
所以本质上我试图从ThreadCreation.php
JSON 格式中获取变量。它应该在一个数组中,以便我可以在 HTML 文件中循环遍历它。
线程创建.php
<?php
$username = 'root';
$password = '';
$db = 'main_database';
$conn = mysqli_connect('localhost', $username , $password,$db);
if (!$conn){
die("unable to connect");
}
$sql = mysqli_query($conn, "SELECT title FROM thread");
while($row = mysqli_fetch_array($sql)) {
$titles[] = $row['title'];
echo json_encode($titles);
?>
不过我会重复一遍,这个 HTML 文件只是通过 PHP 从数据库中获取信息。所以这里没有表单提交。
我不断收到“未定义标题”。这是有道理的,因为 HTML 中没有定义标题,但是我不确定如何构造我的 ajax 请求来收集数据,因为我见过人们使用这种格式。
解决方案
首先提到空数组只是为了防止出现错误,以防数据库中没有数据,然后空数组将继续。
$sql = mysqli_query($conn, "SELECT title FROM thread");
$titles = array();
while ($row = mysqli_fetch_array($sql)) {
array_push($titles,$row['title']); // Push data in empty array
}
echo json_encode($titles);
推荐阅读
- firebase - 登录时出现一些错误 PlatformException(ERROR_ADMIN_RESTRICTED_OPERATION, 此操作仅限管理员使用。, null)
- javascript - 如何使用 InlineKeyboardButton 应用“Markdown 样式进行回复”?
- ios - 我可以嵌入导航控制器视图以占用自定义 UIViewController 的部分屏幕吗?
- json - 使用 bash 和 jq 以特定格式将新元素附加到 JSON 对象
- python - 如何使用 Python 获取目录中的最新文件夹
- identityserver4 - Oidc 客户端 js,不要在客户端使用 Date.now
- json - 邮递员中 json 模式的 ajv 验证是错误的
- r - R url.exists 为不存在的 URL 返回 True
- ruby - Ruby:运行 rake 任务以执行 ruby 脚本
- typescript - 从联合中提取鉴别器值的类型