【发布时间】:2020-03-01 13:19:22
【问题描述】:
我有一个输入字段,我正在尝试使用 PHP 向我的 SQL 服务器填充 AJAX 请求,但它不起作用。 console.log 吐出正确的数组标题:“”
描述:“”,但它不会将数据添加到文本输入字段,所以我可以看到它。我看过其他答案,但还不够。谢谢!
HTML
<input type="text" class="inputtext" name="task-title-reg" value="">
<textarea class="textbox" name="task-description-reg" rows="4" cols="50" value=""></textarea>
AJAX 请求
$(".task-listing").click(function() {
$.ajax({
type: 'POST',
url: 'task-info-get.php',
dataType: 'json',
data: 'pid=' + $(this).attr("id"),
success: function (response) {
console.log(response);
$("task-title-reg").val(response);
$("task-description-reg").val(response);
}
})
});
});
PHP
<?php
include 'sqlconnection.php';
$conn = OpenCon();
$stmt = $conn->prepare('SELECT title,description FROM tasks WHERE pid='.$_POST['pid']);
$stmt->execute();
$stmt->bind_result($title,$description);
while($stmt->fetch()) {
$output[]=array(
'title' => $title,
'description' => $description
);
}
$json=json_encode($output);
echo $json;
$stmt->close();
CloseCon($conn);
?>
【问题讨论】:
-
#$task-title-reg$在这里做什么? -
这正是我一直在尝试的。我现在删除了它们
-
你知道
$('#通过id属性选择标记元素吗? -
这就是我的想法,我只是尝试使用“.task-title-reg”和“task-title-reg”无济于事
-
这里有一些问题。 1)
$("task-title-reg")不是一个有效的选择器,使用例如$('.inputtext')(你的文本区域也有同样的问题); 2)....val(response);- 您的response是一个 JSON 对象,您只需要每个输入字段中的一个元素。试试.val(response.title);,类似的描述。 3)$output[]=array(..)- 创建一个多维数组,这里不需要。$output=array(...)就够了。
标签: php jquery html mysql ajax