我正在尝试comments
使用ajax从数据库中获取每个帖子的所有内容,但是我遇到了一些问题。
这是 问题所在 。
我已经home
路由了posts
从数据库中获取所有信息的位置,而我没有comments
在这些信息中获取信息。
现在,我想comments
使用Ajax 来获取每个帖子,例如当有人在帖子上发表评论时,应将其添加到数据库中,然后即时从数据库中获取。
注释已通过 Ajax 成功添加,但是我无法使用Ajax从数据库中获取它们。
这是我的 代码 :
控制者
Route::get('/home', 'HomeController@index')->name('home');
*内部 *索引 方法HomeController
public function index()
{
$post = Post::all();
// I've used this approach to get comments
//$posts = Post::with('comments')->get();
return view('home')->with( array('posts'=>$posts ) );
}
我已经遍历了数据库中的所有帖子,因此在该循环中也有一个 表单 可以为该帖子留下评论。
发表Form
评论
@foreach($posts as $post)
<p>$post->description</p>
<div class="show_comments_{{ $post->id }}"></div>
<form action="{{ url('comment',$post->p_id) }}" method="POST" >
@csrf
<textarea
name="body"
placeholder="Write A Suggestion"
data-autosize-input='{ "space": 100 }'
rows="50" cols="100"
name="comment"
class="form-control comment body">
</textarea>
<input type="hidden" value="{{csrf_token()}}">
<!-- user Id of the logged In one -->
<input type="text" class="user_id" value="{{Auth::user()->id}}" name="user_id">
<!-- post id -->
<input type="text" class="post_id" name="post_id" value="{{$post->p_id}}">
<button type="button" class="btn btn-sm btn-danger formcomment" value = 'Comment' style="margin:10px;">Comment</button>
</form>
@endforeach
当我单击 Comment 按钮时,将运行以下代码以将注释插入comments
表中。
Ajax请求
$(document).ready(function(){
$('.formcomment').on('click', function(e) {
e.preventDefault();
var form = $(this).closest('form');
// these are id's
var body = form.find('.body').val();
var post_id = parseInt(form.find('.post_id').val());
var user_id = parseInt(form.find('.user_id').val());
// alert(body);
// alert('this is post'+post_id);
// alert('This is user id'+user_id);
$.ajax({
type: "POST",
url: '/comment/'+post_id,
data: {body:body, post_id:post_id, user_id:user_id, _token: '{{csrf_token()}}'},
success: function(data) {
$(".show_comments_"+post_id).append("<div style = 'color:red;'>"+data.msg+"</div>");
$(".name_"+user_id).append("<div>"+data.user_id+"</div>")
}
});
});
});
注释已成功添加到图像中提到的表中,并且我已经按照上述形式将其取回,但是在刷新页面时将其获取,我想在有人即时发表评论时获取它们,因为它通过ajax插入,但刷新页面后获取。
更新
/comment
代码在这里
public function storeComments(Request $request,Comment $body,$post_id){
if($request->ajax()){
$comment = new Comment;
$comment->user_id = Auth::user()->id;
$comment->post_id = $post_id;
$comment->body = Input::get('body');
$comment->save();
$response = array(
'status' => 'success',
'msg' => 'Setting created successfully',
);
return Response::json($response);
return 'yes';
}else{
return 'no';
}
}
带有“虚拟”数据的注释表如下所示,
我正在尝试从最近2天开始解决此问题,请提供帮助。谢谢
我为此研究的链接是这个
表单代码更新。
@foreach($posts as $post)
<p>$post->description</p>
<div class="show_comments_{{ $post->p_id}}"></div>
// I found this code on laracast, at end there is link.
@if (count($post->comments))
@foreach($post->commnents as $comment)
<small>$comment->body</small>
@endforeach
@else
No comments Found
@endif
将数据存储在json响应中。
if($request->ajax()){
$comment = new Comment;
$comment->user_id = Auth::user()->id;
$comment->post_id = $post_id;
$comment->body = Input::get('body');
$comment->save();
//add the comment in response
return response()->json(['msg'=>$comment->body]);
}
在ajax中需要显示消息,我们已经成功添加了数据
$.ajax({
type: "POST",
url: '/comment/'+post_id,
data: {body:body, post_id:post_id, user_id:user_id, _token: '{{csrf_token()}}'},
success: function(data) {
//get the msg from success response.
$(".show_comments_"+post_id).append("<div style = 'color:red;'>"+data.msg+"</div>");
}
});
问题内容: 我正在尝试获取与我下载的每个帖子相关的最新1或2条评论,有点像instagram一样,因为它们显示每个帖子的最新3条评论,到目前为止,我正在获得帖子和喜欢的计数。 现在,我需要做的就是弄清楚如何获取最新评论,而不是太确定如何处理它,这就是为什么我希望拥有更多专业知识的人可以为我提供帮助! 这是我当前的查询: 基本上,评论与点赞存储在同一表中。 所以表是,然后我有一列存储注释文本,然后“
我想从数据库中获取数据(经度/纬度),并使用Ajax调用将其返回到Google地图上绘制多个标记。 下面是包含ajax的javascript: 在ajax设置中,当我输入“dataType:json”时,函数错误被执行。输出为警报“加载数据时出错”。 这是我的控制器: 我尝试console.log(响应),它显示整个javascript代码。 当前没有“数据类型:'json'”的错误显示“未捕获类
问题内容: 根据php手册或php:// input都不能与POST请求一起使用。 “ php:// input允许您读取原始的POST数据。它是内存占用较少的替代方法,并且不需要任何特殊的php.ini指令。php:// input不适用于。” 如何获取表格的原始数据? 问题答案: 直接回答:你不能那样做。只要PHP看到multipart / form-data Content- Type,它就
此链接中的项目树图像 我正在开发一个社交媒体应用程序 在Firebase数据库中,将有用户节点、发布节点、喜欢节点和请求类型节点 用户节点包含表示用户详细信息的字段,它有一个类似于键的uid 在帖子节点下,会有一个postskey,里面会有帖子的详细信息,如uid、proileimage、postimage、描述、日期、时间、全名帖子节点中的uid是用户节点中的uid 我成功地将图像上传到Fire
问题内容: 我想使用php和jquery ajax从mysql数据库中获取数据。“ process.php”是连接到数据库并获取mysql数据的php文件。当它单独运行时它可以工作,但是当使用ajax调用时它不起作用。有人可以帮忙纠正错误吗?这是我的html文件: 这是我的process.php文件 问题答案: 您的ajax调用中有两个语法错误: 请记住,jQuery的ajax需要一个对象作为参数
问题内容: 我想知道如何在CodeIgniter中使用AJAX从数据库获取数据。您能否检查下面的代码以找出问题的原因?当我从视图中单击链接时,没有任何反应。 这是我的看法: 这是我的控制器: 这是我的模型: 这是我的JavaScript文件: 问题答案: 试试这个: 我所看到的问题是这是因为您的选择器是锚,并且锚具有文本而不是值。因此,我建议您使用而不是。