我想使用带有selectize的ajax在onchange上加载bdd结果。 我需要使用post,因为我必须将数据发送到我的网址。
我的功能如下:
select_etages.load(function(callback) {
xhr && xhr.abort();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var data = { id:value }
xhr = $.ajax({
type: 'post',
dataType: 'json',
data: JSON.stringify(data),
data : { bat : value },
url: 'add/etages',
success: function(results) {
callback(results);
},
error: function() {
callback();
}
})
});
在我的web.php中,我有这个:
Route::post('/lots/add/etages', ['as' => 'lots.add_post.select', 'uses' => 'Copro\LotController@select2']);
还有我的控制器:
public function select(Request $request)
{
return "test";
}
但是当我尝试使用它时,我的状态为“ 419未知”。我可以看到这是ajax发布和我的数据,但是我没有错误消息:
Symfony \组件\ HttpKernel \ Exception \ MethodNotAllowedHttpException 没有消息
如果我更改以使其正常运行,但不发布。
任何人都知道为什么我不能使用post ??
感谢您的帮助。
答案 0 :(得分:0)
也许您只是将路由的“ select2”名称末尾重写为“ select”?
答案 1 :(得分:0)
我认为您需要在回调函数中删除$ .ajaxSetup函数。代码可能看起来像这样。
$(function(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
select_etages.load(function(callback) {
xhr && xhr.abort();
var data = { id:value }
xhr = $.ajax({
type: 'post',
dataType: 'json',
data: JSON.stringify(data),
url: 'add/etages',
success: function(results) {
callback(results);
},
error: function() {
callback();
}
})
});
});