我尝试解决这个问题已经有一段时间了。我正在尝试使用 XMLHttpRequest 发布请求,但是它一直抛出状态 405。我想了解是什么导致了这种情况发生,起初我认为它与标题有关,但后来我添加了它们和问题依然存在。
这是我的代码
const searchBar = document.querySelector('#search');
const resultList = document.querySelector('#result_list');
const browser = new XMLHttpRequest();
searchBar.addEventListener('keydown', (event) => {
if (event.which == 27 || event.which == 9) {
resultList.hidden = true;
}
else {
resultList.hidden = false;
let request = {
'value': searchBar.value
}
browser.open('POST', 'browse');
console.log('Esto es lo que traemos', request);
browser.setRequestHeader('X-CSRF-TOKEN', document.querySelector('meta[name="csrf-token"]')['content']);
browser.setRequestHeader("Content-Type", "application/json");
browser.withCredentials = true;
browser.send(request);
browser.onreadystatechange = print_s;
}
});
function print_s(a) {
console.log('Test' , a);
}
这是我的控制器
public function browseItems(Request $request) {
return json_encode($request);
}
这就是我在 web.php 中映射它的方式
Route::post('/browse', 'ItemController@browseItems');
这是我在网络标签中得到的内容