Javascript 动态发布帖子id和用户身份验证id,用于类似评论的系统,其中评论表单显示为弹出窗口,以对每个帖子进行评论
我正在创建一个评论系统,用户可以评论每篇文章,当用户单击评论按钮弹出框时,会出现多个字段,表单从jquery发布到db,我有一个问题,我无法通过jquery formData方法将帖子id和用户身份验证id存储到dbJavascript 动态发布帖子id和用户身份验证id,用于类似评论的系统,其中评论表单显示为弹出窗口,以对每个帖子进行评论,javascript,php,jquery,laravel,Javascript,Php,Jquery,Laravel,我正在创建一个评论系统,用户可以评论每篇文章,当用户单击评论按钮弹出框时,会出现多个字段,表单从jquery发布到db,我有一个问题,我无法通过jquery formData方法将帖子id和用户身份验证id存储到db @foreach($customerposts as $customerpost) <button type="button" class="btn btn-info" data-toggle="modal" data- target="#maskup-{
@foreach($customerposts as $customerpost)
<button type="button" class="btn btn-info" data-toggle="modal" data-
target="#maskup-{{$customerpost->id}}" style="float:right; margin-
top:50px;" id="bidnow" value="{{$customerpost->id}}">Comment
Now</button>
@include('forms.commentform')
@endforeach
很难理解你在这里想做什么。但是我猜您无法在ajax中发送post id和经过身份验证的用户id 我的建议是,当你点击评论时,你可以从按钮获得帖子id,因为你的id存在于按钮value=“{{{$customerpost->id}}”value by 将btnForComments类添加到for循环内的按钮中,并删除id属性 从for a循环中的按钮中删除idbidnow。As id在DOM中应该是唯一的 对于经过身份验证的用户id,您不必在ajax中发送或隐藏它,因为您可以直接从控制器中的会话获取它。
否则,您可以将id分配给javascript变量并在ajax中传递它。不过,经过身份验证的use id对于所有注释都是相同的 这整件事只是一场噩梦。请把你的帖子整理一下,让它可读。
</form>
>jquery
$( 'form' ).submit(function ( e ) {
var data;
data = new FormData();
data.append('message', $("#message").val());
data.append('hidden', $("#hidden").val()); can't get this value from
controller
// console.log(data);
alert(data);
$.ajax({
url: 'api/comment/',
data: data,
processData: false,
contentType: false,
type: 'POST',
});
public function Bidpost(Request $request)
{
$validator = \Validator::make($request->all(), [`enter code here`
'message'=>'required'
]);
if ($validator->fails())
{
return response()->json(['errors'=>$validator->errors()->all()]);
}
$bidon = new ContributerBidOn();
$bidon->user_id = '5'; //can;t het user id from hidden field
$bidon->post_id = '8';
$bidon->Guarantee_Of_Product = $request['message'];
$bidon->save();
return response()->json(['success'=>'Data is successfully added']);
}
}
Route api
Route::post('/bidon/','BidController@Bidpost');
$(".btnForComments").click( function() {
var postId = $(this).val();
});