Javascript AJAX GET 500内部服务器错误
我正在做一个关于Laravel和Elasticsearch的项目。我是拉威尔的初学者。有一次,我在ajax GET调用中遇到了内部服务器错误。我的ajax调用如下所示Javascript AJAX GET 500内部服务器错误,javascript,jquery,ajax,laravel,
elasticsearch,Javascript,Jquery,Ajax,Laravel,
elasticsearch,我正在做一个关于Laravel和Elasticsearch的项目。我是拉威尔的初学者。有一次,我在ajax GET调用中遇到了内部服务器错误。我的ajax调用如下所示 function hint(str) { $.ajax({ url: "/search1/" + str, // str is argument to be passed to controller function type: 'GET', success: functio
function hint(str)
{
$.ajax({
url: "/search1/" + str, // str is argument to be passed to controller function
type: 'GET',
success: function(response) {
document.getElementById("txtHint").innerHTML = this.response;
console.log(this.response);
},
error: function(data) {
console.log(this.response);
}
});
}
我试图通过传递字符串参数“str”和函数调用来调用控制器函数。我对控制器的路由调用如下所示:
Route::get('/search1/{str}','SearchController@search');
public function search($str)
{
$client = ElasticSearch::create()->build(); // No error in this line
$json = '{ // my json data }';
$param1 = json_decode($json,true);
//some code to modify a json field to "str";
echo "something";
}
我的控制器功能“搜索”如下所示:
Route::get('/search1/{str}','SearchController@search');
public function search($str)
{
$client = ElasticSearch::create()->build(); // No error in this line
$json = '{ // my json data }';
$param1 = json_decode($json,true);
//some code to modify a json field to "str";
echo "something";
}
我不介意提供有关我工作的任何进一步信息。尝试在ajax调用中添加csrf令牌:
function hint(str)
{
$.ajax({
url: "/search1/" + str, // str is argument to be passed to controller function
data:'_token = <?php echo csrf_token() ?>',
type: 'GET',
success: function(response) {
document.getElementById("txtHint").innerHTML = this.response;
console.log(this.response);
},
error: function(data) {
console.log(this.response);
}
});
}
函数提示(str)
{
$.ajax({
url:“/search1/”+str,//str是要传递给控制器函数的参数
数据:“U令牌=”,
键入:“GET”,
成功:功能(响应){
document.getElementById(“txtHint”).innerHTML=this.response;
console.log(this.response);
},
错误:函数(数据){
console.log(this.response);
}
});
}
除了500个错误之外,您还收到了什么错误信息?也许您正在使用csrf验证,但您的通话中没有包含csrf令牌?@Amarnasan,谢谢您的回复。这是我在控制台中遇到的唯一错误。完整的错误消息类似于“GET 500(内部服务器错误)”。“abcd”是这里的输入字符串。好的,但你肯定可以检查日志,对吗?@Amarnasan我不知道“csrf验证”,但我没有在输入表单中使用任何类型的验证。如果需要,我可以显示调用“hint”函数的HTML元素。您可以在日志文件中查找错误消息和堆栈跟踪。您是否正确导入了ElasticSearch
类?它不起作用,但我按照您的建议彻底检查了日志,发现了问题。实际上,问题是我使用JSON对象作为数组,而没有使用JSON_解码。无论如何,谢谢你为我的问题花费宝贵的时间