javascript - 动态发布 post_id 和用户身份验证 ID 以进行评论,例如系统,其中评论表单显示为弹出窗口以评论每个帖子
问题描述
我正在创建一个评论系统,用户可以在其中评论每个帖子,当用户单击评论按钮弹出框将出现多个字段时,表单从 jquery 发布到 db,我有一个问题,我无法存储 post_id 和用户身份验证 id db 通过 jquery formData 方法
@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');
解决方案
有点难以理解你想在这里做什么。但我猜您无法在 ajax中发送帖子 ID和经过身份验证的用户 ID 。
我的建议是,当您单击评论时,您可以从按钮获取帖子 ID,因为您的 ID 存在于按钮value="{{$customerpost->id}}"值中
将 btnForComments 类添加到 for 循环内的按钮并删除 id 属性
$(".btnForComments").click( function() {
var postId = $(this).val();
});
从 for 循环中的按钮中删除 id bidnow。因为 id 在 DOM 中应该是唯一的。
对于经过身份验证的用户 ID,您不必发送它或将其隐藏在 ajax 中,因为您可以直接从 Controller 中的 Session 获取它。否则,您可以将 id 分配给 javascript 变量并在 ajax 中传递它。但是,所有评论的经过身份验证的使用 ID 都是相同的。
推荐阅读
- c# - 更新 IQueryable 中的行并保存更改
- powershell - Azure 文件共享装载的驱动器显示断开的网络驱动器
- powerbi - (Power BI)如何将折线图的图例颜色放入表格中?
- kedro - Kedro 数据建模
- vuejs3 - 我可以做些什么来解决这个推送错误 - 从身份验证端点返回的 JSON 无效,但状态码是 200?
- firebase - 使用 Yup 显示 Firebase Auth 错误消息
- hololens - 我无法在 Hololens 2 模拟器中单击许可协议“接受”按钮
- apache-camel - 如何将来自 Apache Camel JMS 的消息作为 Transacted Batch 使用?
- c# - 为什么我在 DataGridView 中有问号而不是文本?
- pine-script - 错误!.. 不能使用可变变量作为安全函数的参数