首页 > 解决方案 > 使用 REST API 的自动完成功能在本地工作,但不能在 Web 服务器上工作

问题描述

我有一个 REST API,它可以提取需要从 Web 应用程序中的自动完成搜索框访问的数据。这似乎在本地工作得很好,但是当我将它推送到生产环境时,自动完成功能不起作用。

经过一些测试,我发现successAJAX 请求的方法在服务器上运行时根本不会触发。这对我来说没有意义,因为它在我的机器上本地工作。

API 的其他部分在网上完全可以正常工作,只是自动完成功能没有按预期工作。

我知道请求正在正确触发,因为当我在数据返回 AJAX 之前转储数据时,一切都存在。但是,尝试在该success方法中做任何事情都不会产生任何结果。

$("#origin").autocomplete({
  source: function(request, response) {
    $.ajax({
      method: 'post',
      url: "/journey_query/get_origin_stations",
      dataType: "json",
      data: {
        'origin': origin_box
      },
      success: function(data) {
        console.log(request);
        console.log(response);
        console.log(data['places'][0]['place']);

        $('#origin-stations').removeClass("is-hidden");
        jQuery.each(data['places'], function(i, val) {
          console.log(val['place']['name']);
          $(".origin-stations").append("<a class='origin-place' href='#'><li>" + val['place']['name'] + "</li></a>");
        });

        $('#origin-field').removeClass("is-loading");
      },
      fail: function() {
        console.log(arguments);
        alert("failure")
      },
    });
  },
});

标签: phpjqueryajaxlaravel

解决方案


推荐阅读