【发布时间】:2018-05-03 13:17:34
【问题描述】:
这是我第一次在 laravel 中使用 jquery post 函数。我正在使用 laravel 5.4。我想通过 jquery 提交数据。
这是我的刀片模板视图:
<head>
<meta charset="UTF-8">
<meta name="csrf-token" content="{{ csrf_token() }}">
</head>
<body>
<form class="form-horizontal" method="POST" action="{{ route('doctor.register') }}">
{{ csrf_field() }}
<input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">
<a href="#" id="ajaxclick">On click ajax</a>
</form>
</body>
路线:
Route::post('/ajax', 'TestController@ajax')->name('test.ajax');
JS 文件:
$(document).ready(function() {
$( "#ajaxclick" ).click(function() {
var token = $("#token").val();
var identity = 5;
$.post( "/ajax", { id: identity, token: token },
function( data ) {
console.log( "ajax working");
console.log( data.id );
}, "json");
});
});
控制器:
public function ajax(Request $request)
{
$id = $request['id'];
$id = $id + 1;
return response()->json(array('success'=>true, 'id'=>$id));
}
但是当我点击标签时,它会在控制台日志中显示 500(内部服务器错误)。
现在,我如何通过 post 函数传递数据?有什么帮助吗?
【问题讨论】:
-
打开并阅读错误日志。
-
'id'=>id应该是'id'=>$id -
如“内部服务器错误”所示,当它尝试响应您的 ajax 请求时发生服务器(可能是 PHP)错误。确保您的服务器已打开错误报告和日志记录,并检查实际错误是什么。然后它会更容易找到和修复。但正如 mulder 所说,你有一个明显的语法错误。也许这是唯一的问题,也许不是。日志会告诉你。
-
@u_mulder 我之前没有在 laravel 中阅读过错误日志。你能告诉我如何在 laravel 中阅读我的错误日志吗?
-
@NazemMahmud 搜索引擎是您的朋友:google.co.uk/…。但在你花时间做这件事之前,先按照 mulder 的建议做,看看能不能解决问题。
标签: php jquery ajax laravel-5.4