laravel 中的 x 可编辑错误 419
x-editable error 419 in laravel
我尝试使用 x-editable
更改用户 table 中我的列的值,但我在网络上遇到 419
错误。
代码
这是我的 CONTROLLER
public function changeprimaryaddress(Request $request){
try {
$id = $request->input('pk');
$field = $request->input('name');
$value = $request->input('value');
$user = User::findOrFail($id);
$user->{$field} = $value;
$user->save();
} catch (Exception $e) {
return response($e->getMessage(), 400);
}
我的ROUTE
Route::post('/changeprimaryaddress','UserController@changeprimaryaddress')->name('changeprimaryaddress');
我的HTML
代码
<a href="#"
class="change"
data-type="select"
data-name="address_id"
data-pk="{{ $user->id }}"
data-value="{{ $user->address_id }}"
data-title="Select New Primary Address"
data-url="{{ route('changeprimaryaddress') }}">Change</a>
我的JAVASCRIPT
<script type="text/javascript">
$(function() {
$('.change').editable({
source: [
@foreach($addresses as $address)
{ value: '{{ $address->id }}', text: '{{ $address->address }} - {{$address->city->name}}, {{$address->state->name}}, {{$address->country->name}}, {{$address->postalcode}}' }
@unless ($loop->last)
,
@endunless
@endforeach
]
});
});
</script>
屏幕视频
如果你想看我提供的过程和错误可以看小视频
知道这是为什么吗?
这是因为您没有向控制器发送 csrf 令牌。发送令牌,或执行以下操作将其排除。
打开你的 app/Http/Middleware/VerifyCsrfToken.php
文件,输入以下代码:
class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'changeprimaryaddress',
];
}
感谢@SagarGautam。我添加了
$.ajaxSetup({
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }
});
现在可以使用了。
我尝试使用 x-editable
更改用户 table 中我的列的值,但我在网络上遇到 419
错误。
代码
这是我的 CONTROLLER
public function changeprimaryaddress(Request $request){
try {
$id = $request->input('pk');
$field = $request->input('name');
$value = $request->input('value');
$user = User::findOrFail($id);
$user->{$field} = $value;
$user->save();
} catch (Exception $e) {
return response($e->getMessage(), 400);
}
我的ROUTE
Route::post('/changeprimaryaddress','UserController@changeprimaryaddress')->name('changeprimaryaddress');
我的HTML
代码
<a href="#"
class="change"
data-type="select"
data-name="address_id"
data-pk="{{ $user->id }}"
data-value="{{ $user->address_id }}"
data-title="Select New Primary Address"
data-url="{{ route('changeprimaryaddress') }}">Change</a>
我的JAVASCRIPT
<script type="text/javascript">
$(function() {
$('.change').editable({
source: [
@foreach($addresses as $address)
{ value: '{{ $address->id }}', text: '{{ $address->address }} - {{$address->city->name}}, {{$address->state->name}}, {{$address->country->name}}, {{$address->postalcode}}' }
@unless ($loop->last)
,
@endunless
@endforeach
]
});
});
</script>
屏幕视频
如果你想看我提供的过程和错误可以看小视频
知道这是为什么吗?
这是因为您没有向控制器发送 csrf 令牌。发送令牌,或执行以下操作将其排除。
打开你的 app/Http/Middleware/VerifyCsrfToken.php
文件,输入以下代码:
class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'changeprimaryaddress',
];
}
感谢@SagarGautam。我添加了
$.ajaxSetup({
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }
});
现在可以使用了。