动态发布post_id和用户身份验证ID,用于评论(如系统),其中评论表单显示为弹出窗口以评论每个帖子

时间:2019-10-16 03:51:25

标签: javascript php jquery laravel

我正在创建一个评论系统,用户可以在其中评论每个帖子,当用户单击评论按钮弹出框时将显示多个字段,表单从jquery发布到db,我有一个问题,我无法存储post_id和用户通过jquery formData方法对数据库的身份验证ID

   @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

评论表
               创建表单字段        在此处显示正确的帖子ID和用户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',
        });

我想为每个帖子动态发布post_id和用户ID

我的控制器

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');

1 个答案:

答案 0 :(得分:0)

在这里很难理解您想做什么。但是我想您无法在Ajax中发送帖子ID 经过身份验证的用户ID

我的建议是,当您单击评论时,您可以从按钮中获取帖子ID,因为您的ID出现在按钮 value =“ {{$ customerpost-> id}}” 中值

  

将btnForComments类添加到for循环中的按钮并删除id属性

$(".btnForComments").click( function() {
 var postId = $(this).val();
 });
  

从您的循环按钮中删除ID 出价现在。因为id在DOM中应该是唯一的。

对于经过身份验证的用户ID,您不必发送它或将其隐藏在ajax中,因为您可以直接从Controller的Session中获取它。 另外,您可以将ID分配给javascript变量,然后将其传递给ajax。尽管所有注释的身份验证使用ID都相同。