【发布时间】:2018-01-06 22:55:30
【问题描述】:
我使用一个非常简单的表单来发送 ajax 发布请求,但它在控制台中显示 500 (internal server error),当我单击该链接时,它会打开一个文件并显示错误在这一行
// Do send the request (this may raise an exception)
xhr.send( options.hasContent && options.data || null );
发送请求的页面是demotest.blade.php
接收请求的URL是ajaxpage,转发给AjaxController@postData
这是我的 web.php 文件
Route::get('/demotest', function(){
return view('admin/posts/demotest');
});
Route::post('/ajaxpage', 'AjaxController@postData');
这是我的demotest.blade.php 文件
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<form id="myform" method="POST" action="{{ url('/ajaxpage') }}">
{!! csrf_field() !!}
<input id="token_field" name="_token" type="hidden" value="{{csrf_token()}}">
<input id="firstname" type="text" name="firstname" />
<input type="submit" value="submit" />
</form>
<div id="display_here"></div>
</div>
</div>
@endsection
@section('jscript')
<script>
$( document ).ready(function() {
// for csrf protection when using ajax
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$('#myform').on('submit', function (e) {
e.preventDefault();
var firstname = $("#firstname").val();
$.ajax({
type: "POST",
url: "/ajaxpage",
data:{
firstname: firstname,
_token: $('#token_field').val()
},
dataType : 'json',
success: function( data ) {
console.log(data);
$('#display_here').html(data);
}
});
});
});
</script>
@endsection
它由单个字段和提交按钮和用于发送 ajax 请求的 jquery 组成
这是处理请求的控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AjaxController extends Controller
{
public function postData(Request $request)
{
return Response()->json($request::all());
}
}
就是这样。我仍然收到错误消息。请帮我解决这个问题。
【问题讨论】:
标签: jquery ajax laravel laravel-5