方法语句在生产服务器上不起作用,在本地主机上起作用

时间:2019-04-12 04:15:07

标签: php jquery ajax laravel jquery-select2

当AJAX调用我的laravel方法时,将调用该方法,但是搜索项的var为空(在我的组合框中使用Select2)。但是,相同的代码可以在我的本地开发机上正常运行。

我已将laravel更新为5.8.11,以查看这是否有帮助,因为我的本地计算机运行的是稍稍较新的版本,php,已查看的日志,Chrome检查器,对此没有任何错误。

   public function get_codes(Request $request)
    {
        $search = trim($request->q);

        if(empty($search))
        {
            return response()->json([]);
        }     

        $data = [];
        $data = DB::table("codes")
                ->select("id","dx_code", "description")
                ->where('dx_code','LIKE',"$search%")
                ->get();

        return response()->json($data);
    }
    ajax: {
            url: "/dxcodes",
            dataType: "json",
            delay: 250,
            data: function (params) {
              return {
                q: $.trim(params.term)
              };
            },
            processResults: function (data) {
              return {
                results: data
              };
            },
            cache: true
        }

我的json响应是:[](运行测试后,我发现我的$ request-> q被视为空),但是,如果我删除了if(empty),我会得到响应。我不明白...再次,请记住,所有这些在我的本地计算机上都可以正常运行。我在生产服务器上的应用程序中还有其他ajax调用,它们可以正常工作,仅此一个调用。

此问题的解决方法是未正确设置此站点的Nginx Web服务器配置文件。 Nginx不使用.htaccess文件。 ?在index.php之后丢失了

   try_files $uri $uri/ /index.php$query_string; (BAD)
   try_files $uri $uri/ /index.php?$query_string; (GOOD)

0 个答案:

没有答案