Laravel API работает на локальном хосте, но не работает на сервере при запросе Request $ - PullRequest
0 голосов
/ 07 мая 2018

Маршрут:

Route :: получить ( 'API / Get-маркет-список', 'MemberTradesController @ getMarketList');

Маршрут :: получить ( 'API / Get-маркет-list1', 'MemberTradesController @ getMarketListtest');

Контроллер :

public function getMarketListtest(Request $request){
        $markets = DB::table("markets")

            ->pluck("market","id");
        return response() -> json($markets);

    }


public function getMarketList(Request $request){
        $markets = DB::table("markets")
            ->where("exchange_id", $request->exchange_id)
            ->pluck("market","id");
        return response() -> json($markets);

    }

   <title>Laravel 5 - Dynamic autocomplete search using select2 JS Ajax</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>

    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />

<script type="text/javascript">
        $('#exchange').change(function(){
            var exchangeID = $(this).val();
            if(exchangeID){
                $.ajax({
                    type:"GET",
                    url:"{{url('api/get-market-list')}}?exchange_id="+exchangeID,
                    success:function(res){
                        if(res){
                            $("#market").empty();
                            $("#market").append('<option>Select</option>');
                            $.each(res,function(key,value){
                                $("#market").append('<option value="'+key+'">'+value+'</option>');
                            });

                        }else{
                            $("#market").empty();
                        }
                    }
                });
            }else{
                $("#market").empty();
                $("#symbol").empty();
            }
        });
       
    </script>

http://www.yourtradelog.com/api/get-market-list1

ниже URL не извлекает данные, поэтому .. мой JavaScript не дает мне результата http://www.yourtradelog.com/api/get-market-list?exchange_id=+1 (не работает) Я хочу знать, почему это не беспокоит на сервере, но все работают нормально в localhost

**

ЖУРНАЛ ОШИБКИ

**: 2 2 : https://i.stack.imgur.com/rnPfh.png

Ошибка обновления Composer

База данных Рынки Таблица

1 Ответ

0 голосов
/ 07 мая 2018

Я только что проверил ссылку, которую вы предоставили, и вот мое понимание ситуации:

  1. Параметр, который вы отправляете через URL, имеет + перед идентификатором (.... = + 1)
  2. На вашем маршруте вы не проверяете, существует ли exchange_id (вы должны это сделать).Если вы планируете получить идентификатор, вы можете вызвать его в URL или создать проверку, чтобы проверить, верен ли он.
  3. В соответствии с вашей ошибкой (на [2]) введитеубедитесь, что маршрут (и страница с ошибками) доступны без входа в систему (так как вы не работаете с csrf_token, как я вижу).Когда я отправляю запрос, я получаю пустой массив json, поэтому я не могу воспроизвести эту ошибку.Вы всегда можете попробовать composer update

Редактировать: Поскольку вы говорите, что он работает на локальном хосте, успешно ли вы его развернули на производстве или просто в виде копии-макарон?Внимание к вашему файлу .env и разрешениям на файл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...