我正在用API和 AJAX 制作一个简单的聊天应用程序;问题是,当我发出 AJAX 请求并在我的数据库中存储聊天对话和消息时,如果对话存在,只需保存消息。但是当我保存消息时,请求不需要ID,但是当我保存聊天时需要它。
Laravel
public function storeMsj(Request $req)
{
$existChat = $this->existsChat($req->id);
if ($existChat == 0) {
Chat::create([
'user' => $req->id,//here take the request
'read' => 0,
]);
Message::create([
'message_content' => $req->msj,
'from' => $req->id,//here not take the request
'to' => 1,
]);
} else {
Message::create([
'message_content' => $req->msj,
'from' => $req->id,
'to' => 1,
]);
}
return Response::json($req->id);//the response show correctly the request
}
字符串
JS
function storeMsj(){
let msj = document.querySelector('.msg').value;
let id = idUser.firstElementChild.innerHTML;
fetch('/api/storeMsj',{
method: 'POST',
headers:{
'Accept': 'application/json, text/plain, */*',
'Content-type': 'aplication/json'
},
body: JSON.stringify({
msj: msj,
id: id
}),
})
.then(res => res.json())
.catch(error => console.error('Error:', error))
.then(response => console.log('Success:', response));
}
型
1条答案
按热度按时间n3h0vuf21#
在Laravel Mass Assignment中,您需要在模型上指定一个可填充或保护的属性,因为所有Eloquent模型默认情况下都防止mass赋值。
字符串