Javascript 如何在ajax php中获取标题图像和内容的值
如何显示数据标题、图像和内容 代码如下: view.php index.php 我想做的是得到标题、图片和内容。 如何获得标题、图像和内容的价值 如何从php中调用“标题”、“名称”和“内容”Javascript 如何在ajax php中获取标题图像和内容的值,javascript,php,ajax,Javascript,Php,Ajax,如何显示数据标题、图像和内容 代码如下: view.php index.php 我想做的是得到标题、图片和内容。 如何获得标题、图像和内容的价值 如何从php中调用“标题”、“名称”和“内容” console.log('DATA:'+DATA)无需使用while循环获得结果。同时删除额外的$dataArr和$responseArr 将代码更新为: in view.php $id = $_REQUEST['edit_literature_id']; $literature = $_RE
console.log('DATA:'+DATA)代码>无需使用while循环获得结果。同时删除额外的$dataArr
和$responseArr
将代码更新为:
in view.php
$id = $_REQUEST['edit_literature_id'];
$literature = $_REQUEST['literatureID'];
$module = $_REQUEST['edit_moduleId'];
if (isset($id)) {
$sql = "SELECT * FROM $literature WHERE `id`='".$id."'";
if ($result = mysqli_query($conn, $sql)) {
if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_array($result);
$data['title'] = $row['title'];
$data['name'] = 'data:image/jpeg;base64,' . base64_encode($row['name']);
$data['content'] = $row['content'];
echo json_encode($data); exit;
}
mysqli_free_result($result);
}
}
$data['error'] = "No Record";
echo json_encode($data); exit;
Index.php
$(document).ready(function () {
$(document).on('click', '#btnModalUpdate', function (e) {
e.preventDefault();
rowId = $(this).attr('data-id');
moduleData = $(this).attr('data-module');
literatureData = $(this).attr('data-literature');
$('#edit_id').val(rowId);
$('#edit_module').val(moduleData);
$('#edit_literature').val(literatureData);
$('#edit_imageId').val(rowId);
$('#update').val('update');
$.ajax({
type: 'POST',
url: '../../crud/read/view.php',
data: $('#modalFormUpdate').serialize(),
dataType: 'json',
success: function (data) {
var response = jQuery.parseJSON(data);
var title = response.title;
var name = response.name;
var content = response.content;
alert(title);
alert(name);
alert(content);
}
});
});
});
从jQuery端获取数据后,您可以使用jQuery中的id或class属性在html端设置值。ajax receiving.php文件的外观:
重要做法:
- 验证用户输入,以便只有符合条件的提交才具有访问数据库的权限李>
- 在整个项目中,始终将失败结果写在成功结果之前,这将使脚本更易于阅读/遵循
- 始终使用准备好的语句,并将用户提供的数据绑定到占位符,以确保查询的稳定性/安全性
- tablename不能像
id
值那样绑定;它必须直接写入sql字符串中——这就是为什么根据白名单ID数组验证该值至关重要的原因
- 无需声明新变量来接收
$\u GET
值;只需直接从超全局数组访问值
- 我将假设您的
id
是表中的主键/唯一键,因此您不需要在结果集中循环。尝试获取一行--它将包含数据或结果集为空
- 只在脚本末尾调用一次json_encode()
$(document).ready(function () {
$(document).on('click', '#btnModalUpdate', function (e) {
e.preventDefault();
$.ajax({
type: 'GET',
url: '../../crud/read/view.php',
data: $('#modalFormUpdate').serialize(),
dataType: 'json',
success: function (response) {
if (response.hasOwnProperty('error')) {
console.log(response.error);
} else {
console.log(response.title, response.name, response.content);
}
}
});
});
});
- 我把所有不相关的行都删掉了
- 将POST更改为GET——因为您只是从数据库中读取数据,而不是写入
不是必需的--parseJSON()
是一个随时可用的对象response
- 我正在检查响应对象中的
属性,以便访问适当的数据error
以上两个脚本都未经测试(完全是从我的手机中编写的)。如果我有任何输入错误,请给我留言,我会改正的。数据未定义,名称和内容值未定义请不要建议SQL注入易受攻击的代码。@Dharman我没有进行SQL查询,我只是用fix更新了iverson的代码,问题不在于SQL注入预防。他应该自己做这件事不,您应该修复所有有关代码的问题。您的数据是json格式的,它是一个数组。因此,执行
console.log(数据[0].title)
应该为您提供标题?您的代码易受SQL注入攻击。你应该使用事先准备好的陈述。
$(document).ready(function () {
$(document).on('click', '#btnModalUpdate', function (e) {
e.preventDefault();
rowId = $(this).attr('data-id');
moduleData = $(this).attr('data-module');
literatureData = $(this).attr('data-literature');
$('#edit_id').val(rowId);
$('#edit_module').val(moduleData);
$('#edit_literature').val(literatureData);
$('#edit_imageId').val(rowId);
$('#update').val('update');
$.ajax({
type: 'POST',
url: '../../crud/read/view.php',
data: $('#modalFormUpdate').serialize(),
dataType: 'json',
success: function (data) {
var response = jQuery.parseJSON(data);
var title = response.title;
var name = response.name;
var content = response.content;
alert(title);
alert(name);
alert(content);
}
});
});
});
$validLiteratureIds = ['yourTable1', 'yourTable2'];
if (!isset($_GET['edit_literature_id'], $_GET['literatureID']) || !in_array($_GET['literatureID'], $validLiteratureIds)) {
$response = ['error' => 'Missing/Invalid Data Submitted'];
} else {
$conn = new mysqli('localhost', 'root', '', 'dbname');
$sql = "SELECT title, name, content
FROM `{$_GET['literatureID']}`
WHERE `id` = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $_GET['edit_literature_id']);
$stmt->execute();
$stmt->bind_result($title, $name, $content);
if (!$stmt->fetch()) {
$response = ['error' => 'No Record'];
} else {
$response = [
'title'=> $title,
'name' => 'data:image/jpeg;base64,' . base64_encode($name),
'content' => $content
];
}
}
echo json_encode($response);
$(document).ready(function () {
$(document).on('click', '#btnModalUpdate', function (e) {
e.preventDefault();
$.ajax({
type: 'GET',
url: '../../crud/read/view.php',
data: $('#modalFormUpdate').serialize(),
dataType: 'json',
success: function (response) {
if (response.hasOwnProperty('error')) {
console.log(response.error);
} else {
console.log(response.title, response.name, response.content);
}
}
});
});
});