<form id="sendmemessage">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<div class="form-group">
<h2 class="open-f bbold green-text contact-t">SEND ME A MESSAGE!</h2>
</div>
<div class="form-group">
<input type="text" name="name" class="form-control input-sm no-radius" aria-describedby="emailHelp" placeholder="Name">
</div>
<div class="form-group">
<input type="text" name="email" class="form-control input-sm no-radius" placeholder="Email">
</div>
<div class="form-group">
<input type="text" name="subject" class="form-control input-sm no-radius" placeholder="Subject">
</div>
<div class="form-group">
<textarea class="form-control input-sm no-radius" name="message" rows="5" placeholder="Message"></textarea>
</div>
<div class="form-group">
<button type="submit" class="btn btn-custom pull-right btn-w">Send Message</button>
</div>
<br>
</form>
Я пытаюсь подчинить значения формы, я знаю, что это просто базовый, но я не знаю, почему это не работает.
ниже мой аякс,
$("#sendmemessage").submit(function(stay){
$.ajax({
type: 'POST',
url: "{{ url('/') }}/message_me",
data: $(this).serialize(),
success: function (data) {
alert();
},
});
stay.preventDefault();
});
мой маршрут
Route::post('message_me','home_controller@message_me');
мой контроллер
class home_controller extends Controller{
public function message_me(){
echo "its here!";
}
}
вот мой код формы формы
$(this).serialize()
был внутри объекта ajax, и он ссылается на ajax не на форму.
$("#sendmemessage").submit(function(stay){
var formdata = $(this).serialize(); // here $(this) refere to the form its submitting
$.ajax({
type: 'POST',
url: "{{ url('/') }}/message_me",
data: formdata, // here $(this) refers to the ajax object not form
success: function (data) {
alert();
},
});
stay.preventDefault();
});
Начните с замены
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
с вспомогательной функцией
{!! csrf_field() !!}
Я строю свои вызовы ajax следующим образом:
$("#sendmemessage").on('submit', function(e) {
e.preventDefault();
var data = $("#sendmessage").serialize();
$.ajax({
type: "post",
url: "/message_me",
data: data,
dataType: "json",
success: function(data) {
console.log('success');
},
error: function(error) {
console.log('error');
}
});
});
Можете ли вы получить доступ к маршруту "message_me" через браузер? Внутренняя ошибка сервера 500 должна дать вам четкое представление о том, почему запрос терпит неудачу.