elasticsearch,Javascript,Jquery,Ajax,Laravel,elasticsearch" /> elasticsearch,Javascript,Jquery,Ajax,Laravel,elasticsearch" />

Javascript AJAX GET 500内部服务器错误

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

我正在做一个关于Laravel和Elasticsearch的项目。我是拉威尔的初学者。有一次,我在ajax GET调用中遇到了内部服务器错误。我的ajax调用如下所示

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_解码。无论如何,谢谢你为我的问题花费宝贵的时间