1
我是一個新用戶LARVEL,當我開發IM遇到此問題,希望數據時,有人能幫助我(匿名函數)通過使用AJAX
我用什麼來開發=> PHP Laravel 5.2
我現在遇到了什麼錯誤=> POST 500內部服務器錯誤點=> (匿名函數)
這是我ajaxcreate.blade.php
@extends('layouts.app')
@section('content')
<div class="col-md-10 col-md-offset-1">
<div class="col-md-8">
<input type="text" class="form-control" id="name" name="name"
placeholder="Enter some name" required>
<p class="error text-center alert alert-danger hidden"></p>
</div>
<div class="col-md-4">
<button class="btn btn-primary" type="submit" id="add">
<span class="glyphicon glyphicon-plus"></span> ADD
</button>
</div>
</div>
<div class="col-md-10 col-md-offset-1">
<table class="table table-borderless" id="table">
<thead>
<tr>
<th class="text-center">ID</th>
<th class="text-center">Name</th>
<th class="text-center">Details</th>
<th class="text-center">Actions</th>
</tr>
</thead>
@foreach($data as $item)
<tr class="item{{$item->id}}">
<td>{{$item->id}}</td>
<td>{{$item->name}}</td>
<td>{{$item->details}}</td>
<td><button class="edit-modal btn btn-info" data-id="{{$item->id}}" data-name="{{$item->name}}">
<span class="glyphicon glyphicon-edit"></span> Edit
</button>
<button class="delete-modal btn btn-danger" data-id="{{$item->id}}" data-name="{{$item->name}}">
<span class="glyphicon glyphicon-trash"></span> Delete
</button>
</td>
</tr>
@endforeach
</table>
</div>
<script>
$("#add").click(function() {
$.ajax({ // this is where my console said the anonymous function
type: 'post',
url: 'addItem',
dataType: 'json',
data: {
'_token': $('input[name=_token]').val(),
'name': $('input[name=name]').val()
},
success: function(data) {
if ((data.errors)) {
$('.error').removeClass('hidden');
$('.error').text(data.errors.name);
} else {
$('.error').remove();
$('#table').append("<tr class='item" + data.id + "'><td>" + data.id + "</td><td>" + data.name + "</td><td><button class='edit-modal btn btn-info' data-id='" + data.id + "' data-name='" + data.name + "'><span class='glyphicon glyphicon-edit'></span> Edit</button> <button class='delete-modal btn btn-danger' data-id='" + data.id + "' data-name='" + data.name + "'><span class='glyphicon glyphicon-trash'></span> Delete</button></td></tr>");
}
},
});
$('#name').val('');
});
</script>
@endsection
這是我AjaxController.php
public function addItem(Request $request)
{
$data = new Product();
$data->name = $request->name;
$data->details = $request->name;
$data->save();
}
這是我的routes.php文件
Route::post('/addItem','[email protected]');
Route::get('/readItem','[email protected]');
您可以隨時查看您的'storage/logs/laravel.log'以查看錯誤的正確堆棧跟蹤。我最初的想法是'$ data = new Product();'不應該有'()';它應該是'$ data = new Product;'。其餘部分看起來很好,只要它發佈的路線有效即可。讓我知道這是否有幫助。 – James
是的,它有幫助,並錯誤指向這個//local.ERROR:異常'Illuminate \ Session \ TokenMismatchException'在C:\ wamp64 \ www \ testing \ vendor \ laravel \ framework \ src \ Illuminate \ Foundation \ Http \ Middleware \ VerifyCsrfToken.php:67 // @詹姆斯你知道它的意思嗎?謝謝! –
您收到的錯誤是令牌不匹配異常,這意味着您通過請求傳遞的CSRF令牌無效。看看你上面的代碼,我沒有看到'_token'字段。確保你在頁面上有你的CSRF令牌來檢索。 – James