Я работаю над приложением, в котором различные ajax-запросы запускаются в зависимости от различных действий.
Например, есть окно чата с кнопкой отправки. Когда я нажимаю на эту кнопку, ajax успешно отправляет пустое сообщение. Это хорошо работает. Но когда я нажимаю кнопку «Отправить» слишком много раз, при запуске некоторые запросы отвечают 200 (нормально), а затем - 500 (внутренняя ошибка сервера). Из-за этого другие запросы, которые идут непрерывно как updateLastActivity, также мешают.
Предварительный просмотр ошибки в инструменте разработчика:
К сожалению, что-то пошло не так.
Примечание: когда я делаю эту систему чата в ядре PHP, она работает нормально. Нет внутренней ошибки сервера, когда я отправляю слишком много запросов.
Вот код, который я использую
//the following code is used to send the message
$(document).on('click','.send_message_bt',function(event){
event.preventDefault();
var id=$(this).data('id');
var name=$(this).data('name');
var message=$("#message_field-"+id).val();
$.ajax({
//headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
headers: { 'X-CSRF-TOKEN': {!! json_encode(csrf_token()) !!} },
url:'{{route('user.sendmessage')}}',
type:'POST',
data:{
id:id,
message:message
},
success:function(data,status){
//clear the message field value
$("#message_field-"+id).val('');
//update the chat history
fetchChatHistory(id,name);
},
error:function(response){
if(response.status==401){
alert('You are not logged in!');
window.location=window.location.href;
}
}
});
});
вот код конца
public function sendMessage(Request $request){
$message=new Userchatmessage();
$message->message=$request->message;
$message->sender_id=Auth::user()->id;
$message->receiver_id=$request->id;
$message->save();
return response('success');
}
Как решить эту проблему.