Ich habe Probleme mit Laravel 5.3, insbesondere, mit AJAX Anfrage Daten von meinem JavaScript, ich bin in der Lage, ein Objekt zu machen, aber wenn ich save Methode hole ich 500 (Interner Serverfehler).Laravel, kann kein Objekt mit AJAX Anfrage erstellen
Das ist mein Weg:
Route::post('create_comment', '[email protected]_store');
Das ist mein Controller ist:
public function ajax_store(Request $request)
{
$comment = new Comment();
$comment->body = $request->body;
$comment->post_id = $request->post_id;
$comment->user_id = auth()->id();
$comment->save();
return response()->json(['data' => $comment]);
}
Das ist mein Ajax-Anforderung ist:
$('.comment-submit-button').on('click', function(e) {
e.preventDefault();
var body = $(this).closest('form').find('textarea').val();
var post_id = $(this).data();
$.ajax({
method: 'POST',
url: urlCreateComment,
data: {
body: body,
post_id: post_id
}
}).done(function(data) {
console.log(data['data']);
});
edit: Mein Import in meinem Index Seite
@push('scripts')
<script>
var urlCreateComment = '{{ url('create_comment') }}';
</script>
<script src="{{ asset('/js/realtime.js') }}"></script>
<script>
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
</script>
@endpush
meine Form:
<form action="{{ url('create_comment') }}" method="post">
<div class="form-group">
<textarea placeholder="Write a comment ..." class="form-control" name="body" cols="30" rows="1"></textarea>
</div>
<!-- /.form-group -->
{{ csrf_field() }}
<div class="form-group adjust">
<button data-id="{{ $post->id }}" type="submit" class="comment-submit-button">
<i class="fa fa-caret-right"></i>
</button>
</div>
</form>
edit: ich diesen Fehler: Array String-Konvertierung (SQL: insert into comments
...
edit: ... ich es gelöst, die Problem war, dass ich habe die get-Methode auf die Anfrage zu implementieren ...
$request->get('body');
aber jetzt habe ich ein neues Problem, wenn ich will ein hochladen Bild und ich benutze hasFile() -Methode über Ajax mit Laravel 5.3 es zurück Null ... warum?
Hat jemand das schon einmal erlebt? Jeder Einblick und Rat würde wirklich geschätzt werden. Vielen Dank im Voraus!
var post_id = $(this).data(); // $request->get('post_id') will produce an array
Um dies:: die folgenden
Wo ist Ihre JS Variable 'urlCreateComment' definiert? 500 Fehler kommen mit spezifischen Details, einschließlich einer hilfreichen Nachricht, also was ist das? – ceejayoz
Danke für Ihre Antwort, wie kann ich diese Informationen finden? – Anas
Überprüfen Sie die Entwicklerkonsole Ihres Browsers. Laravel gibt standardmäßig Debug-Informationen über einen 500-Fehler an den Browser aus. – ceejayoz