我想将一个javascript变量发送到php文件,该变量在网页上显示注释。
我能够将此js变量发送到其他一些php文件,但是我无法使用此comment-list.php文件执行此操作。我想JSON有问题。
function listComment() {
$.ajax({
url: "Komentarji/comment-list.php",
data : {page_num: page_num},
type : 'post',
success : function(response) {
}
});
$.post("Komentarji/comment-list.php", function(data) {
var data = JSON.parse(data);
.
.
.
该函数在这里调用:
$(document).ready(function() {
listComment();
});
在comment-list.php内部,我尝试获取随ajax发送的变量。但是,它不起作用,评论也不会显示在页面上。如果我删除此行,则注释将再次起作用(但是,当然,我不会获得发送的变量)。
$num = $_POST['page_num'];
$sql = "SELECT * FROM tbl_comment ORDER BY parent_comment_id asc, comment_id asc";
$result = mysqli_query($conn, $sql);
$record_set = array();
while ($row = mysqli_fetch_assoc($result)) {
array_push($record_set, $row);
}
mysqli_free_result($result);
mysqli_close($conn);
echo json_encode($record_set);
这是javascript变量和随附的php文件。
<script>
var page_num = 1;
</script>
<?php
include($_SERVER["DOCUMENT_ROOT"]."/index.php");
?>
我在控制台中收到此错误:Uncaught SyntaxError:意外的令牌<在JSON中,位于JSON.parse()的位置0
正如伯爵所说,如果我删除使用post获得变量的行,则该错误消失。
答案 0 :(得分:0)
只需在JS脚本中创建格式JSON
$.ajax({
url : 'Komentarji/comment-list.php',
type: "POST",
data: page_num:page_num,
dataType: "JSON",
success: function(data)
{
console.log(data);
},
error: function (jqXHR, textStatus, errorThrown){
console.log(errorThrown);
}
});
答案 1 :(得分:0)
您不应该使用$.ajax
和$.post
来做同样的事情,选择一个,我会说删除$.post
,不要忘了放一个{{1} }在回显响应后的语句,同样值得一提,但不是必需的,您可以将exit;
放入json,以便在dataType
调用中使用dataType: 'json'
,$.ajax
可以告诉jQuery期望服务器响应类型是什么。
dataType