php - 这是在 AJAX 请求后更新页面的正确方法吗?
问题描述
我已经成功地做到了,因此用户可以通过 AJAX 进行评论以避免页面刷新,但是,我不确定在页面上显示新数据库记录的正确方法是什么,所以我选择了这个:
$('.postComment').on('click', function(event){
event.preventDefault();
var userId = $("input[name=user_id]").val();
var imageId = $("input[name=image_id]").val();
var comment = $("textarea[name=comment]").val();
$.ajax({
method: 'POST',
url: urlComment,
data: {userId: userId, imageId: imageId, comment: comment, _token: token}
}).done(function(){
$("textarea[name=comment]").val("");
$('.comments').append('<p>'+comment+'</p>');
})
});
完成 AJAX 请求后,我删除了文本字段中写入的内容,并在新段落中附加了已上传到数据库的注释。
解决方案
数据在 done 回调中作为第一个参数可用
.done(function(serverResponseData){
/* do something with response data*/
})
如果它是 html,您可以使用任何 jQuery 插入方法将该 html 放在您想要的任何位置。
如果是 JSON 或 XML,则遍历它并将从中解析的各种值包装在 html 中以插入 DOM
推荐阅读
- build - Spring Boot 和 React 应用程序的生产构建问题
- php - 以编程方式编辑 WooCommerce 应税运费时包括税费
- asp-classic - 经典 ASP 和 .Net Com DLL 网站在并发请求时挂起
- python - 每次我运行代码时,Chrome 都会打开并在几秒钟后关闭。为什么会关闭?
- bash - 如何使用 sed 或 awk 等命令行实用程序替换已知开始和停止位置之间的文件中的文本?
- flutter - Flutter 应用程序 - 空 GridTile 和条件
- c# - IIS REST 应用程序访问拒绝 COM+ 通信
- javascript - 如何一次播放数组中的一首歌曲反应js
- java - 日期为空的方法调用
- node.js - 部署错误。构建失败:构建错误详细信息不可用。Firebase 云函数