Ich bin nicht so viel vertraut mit Jquery/Ajax und wird einige Hilfe geschätzt. Ich versuche eine einfache Ajax-Suche zu machen, die eine Curl-Anfrage macht und das Ergebnis zurückgibt. Alles funktioniert gut, wenn ich keinen Ajax für die Suche verwende.Einfache Ajax-Suche mit Laravel Return Token Mismatch
Dies ist mein Controller
function get_curl_content_tx($url) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
public function getImage(Request $request)
{
$url = get_curl_content_tx('http://example.com/par?url='.$request->input('url'));
$items = json_decode($url, true);
$thumb = $items['thumbnail_url'];
return view('getImage',compact('thumb'));
}
Und hier ist die Form, in der Blattansicht
<div class="container">
<form method="post" action="getImage" role="form">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" id="url" name="url" class="form-control" placeholder="Paste URL.">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<button class="btn btn-success" id="submit">Search</button>
</div>
</div>
</div>
</form>
@if(!empty($thumb))
<img src="{{ $thumb }}" style="margin-bottom: 15px;">
@else
<p>There are no data.</p>
@endif
</div>
Und das ist, was ich für AJAX gemacht habe und was ich denke nicht
ist Arbeit$(document).ready(function() {
$('#submit').on('submit', function (e) {
e.preventDefault();
var url = $('#url').val();
$.ajax({
type: "POST",
data: {url: url},
success: function(msg) {
$("#ajaxResponse").append("<div>"+msg+"</div>");
}
});
});
});
Zur Zeit, als ich Suchtaste drücken der Fehler
TokenMismatchException
Ich verwende Laravel 5 und ich bin nicht sicher, wie es in Laravel die VerifyCsrfToken middleware
auch für die CSRF
Token Zusätzlich zu tun, als POST Parameter überprüft werden
Sie müssen 'csrf_token' in post-Methode –
Ok hinzufügen, ich habe es in dieser Antwort https gemacht: // st ackoverflow.com/a/37912362/1158599 aber immer noch TokenMissmatch –
Nehmen Sie sich einen Moment Zeit, um diese Frage zu sehen, um Ihr Problem zu lösen https: // stackoverflow.com/questions/44819418/Wege-zu-verhindern-tokenmismatch-Ausnahme-in-ajax # 44819418 –