我尝试使用jQuery回显输入的表单值,但是当我点击提交时出现POST http://localhost:8000/settings/generalsettings/changedata 500 (Internal Server Error)
错误。我使用的是Laravel 5.1。
我的代码中缺少什么?
这是我的routes.php
Route::post('settings/generalsettings/changedata', 'UserSettingsController@changeData');
UserSettingsController.php
namespace App\Http\Controllers;
use App\User;
use App\Http\Controllers\Controller;
class UserSettingsController extends Controller
{
public function changeData()
{
$variable = Input::post('name99');
print_r($variable);
}
}
generalSettings.blade.php
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<link rel="stylesheet" href=""/>
<meta name="csrf-token" content="{{ csrf_token() }}">
</head>
<body>
<input id="name" type="text" placeholder="Enter your name">
<input type="submit" id="sub">
<div id="result"></div>
<script src="/js/jquery-2.1.4.js"></script>
<script type="text/javascript">
$(document).ready(function () {
// set up jQuery with the CSRF token, or else post routes will fail
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
}); // handlers
$("#sub").click(function (y) {
y.preventDefault();
var user_name = $('#name').val();
$.post(
"/settings/generalsettings/changedata",
{
name99: user_name
},
function (data) {
$('#result').hide().html(data).fadeIn(2000);
});
});
});
</script>
</body>
</html>
答案 0 :(得分:0)
在控制器文件的顶部添加use Input
尝试使用get
而不是使用post
来接收控制器中的ajax数据。
$variable = Input::get('name99');
答案 1 :(得分:0)
我在use Input
课程的顶部添加了UserSettingsController
并解决了问题。