我正在尝试使用Laravel-5.2中的Ajax将用户输入保存到数据库中。
这是我的route.php
Route::get('xxxxx/{task_id?}',function($task_id){
$task = App\XXXXX::find($task_id);
return response()->json($task);
});
Route::put('xxxxx/{task_id?}',function(Request $request,$task_id){
$task = App\XXXXX::find($task_id);
$task->Name = $request->Name;//
$task->Email = $request->Email;
$task->Telephone = $request->Telephone;
$task->save();
return response()->json($task);
});
在我看来,保存按钮用作。
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="btn-save" value="update">Save changes</button>
<input type="hidden" id="task_id" name="task_id" value="0">
</div>
使用this tutorial.创建的js文件。
我收到弹出窗口,Save
按钮不起作用。
这里有什么问题?我是Ajax的新手。
提前致谢。
答案 0 :(得分:1)
这是route.php
路由::匹配([&#39; get&#39;,&#39; post&#39;],&#39; my / save-data&#39;,#39; MyController @ SaveData&#39 );
这是你的HTML:
保存更改这是您的Controller文件:MyController.php
公共函数SaveData(Request $ request) { $ input = $ request-&gt; all();
$.ajax({
type: 'post', // POST Request
url: 'localhost/my/save-data', // localhost/my/save-data // Url of the Route (in this case user/save not only save)
data: getData, // Serialized Data
beforeSend: function (xhr) {
// Function needed from Laravel because of the CSRF Middleware
var token = $('meta[name="csrf_token"]').attr('content');
if (token) {
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
}
},
success: function (data) {
// Successfuly called the Controler
// Check if the logic was successful or not
if (data.status == 'success') {
console.log('alles ok');
} else {
console.log(data.msg);
}
},
error: function (data) {
// Error while calling the controller (HTTP Response Code different as 200 OK
console.log('Error:', data);
}
});
这是您的Js文件:save.js
function save(){
getData = {
name:&#34; value&#34;,//来自get eliment
电子邮件:&#34;价值&#34;,//来自恭喜
电话:&#34;价值&#34; //来自恭维
};
{{1}}
}