Почему иногда ошибка 404 не обнаруживается при отправке массива объектов в функцию API из angularjs? - PullRequest
1 голос
/ 05 июня 2019

Иногда я получаю ошибку 404 not found, когда я отправляю строковый массив объектов javascript в функцию API.

Я пытался изменить метод отправки данных (POST, UPDATE, ...).Я понял, что если я уменьшу количество объектов в массиве, не выдаст ошибку 404.

В angularjs код:

var schedule_to_send = JSON.stringify(my_array_of_objects);
console.log(schedule_to_send);
$http({
            method: 'POST',
            url: API_URL + 'schedule/update_or_add/',
               params: {
                  schedule_days: schedule_to_send,                 
            },
        }).then(function successCallback(response) {
                 console.log(response);
            },
            function errorCallback(response) {
                console.log(response)
            }
        );
  1. URL-адрес конечной точкиправильно, помните, что иногда это работает, и если длина массива уменьшается, ошибка не появляется.
  2. console.log (schedule_to_send) печатает следующее:
[
   {
      "id":4,
      "employee_store_week_id":157,
      "time_in":"1/1/1970, 08:00:00",
      "time_out":"1/1/1970, 11:00:00",
      "break_time":45,
      "created_at":"2019-06-05 00:41:06",
      "updated_at":"2019-06-05 05:46:08",
      "dates_dim_date":"2019-01-01",
      "day_of_week":"Monday",
      "month":"January",
      "month_day":1
   },
   {
      "id":1,
      "employee_store_week_id":157,
      "time_in":"1/1/1970, 07:00:00",
      "time_out":"1/1/1970, 09:00:00",
      "break_time":30,
      "created_at":"2019-06-05 00:24:20",
      "updated_at":"2019-06-05 05:46:08",
      "dates_dim_date":"2019-01-02",
      "day_of_week":"Tuesday",
      "month":"January",
      "month_day":2
   },
   {
      "id":3,
      "employee_store_week_id":157,
      "time_in":"1/1/1970, 08:00:00",
      "time_out":"1/1/1970, 11:00:00",
      "break_time":45,
      "created_at":"2019-06-05 00:38:01",
      "updated_at":"2019-06-05 05:46:08",
      "dates_dim_date":"2019-12-30",
      "day_of_week":"Wednesday",
      "month":"December",
      "month_day":30
   },
   {
      "id":-1,
      "employee_store_week_id":157,
      "day_of_week":"Thursday"
   },
   {
      "id":-1,
      "employee_store_week_id":157,
      "day_of_week":"Friday"
   },
   {
      "id":-1,
      "employee_store_week_id":157,
      "day_of_week":"Saturday"
   },
   {
      "id":-1,
      "employee_store_week_id":157,
      "day_of_week":"Sunday"
   },
   {
      "id":2,
      "employee_store_week_id":937,
      "time_in":"1/1/1970, 09:00:00",
      "time_out":"1/1/1970, 10:00:00",
      "break_time":20,
      "created_at":"2019-06-05 00:24:20",
      "updated_at":"2019-06-05 00:41:06",
      "dates_dim_date":"2019-12-30",
      "day_of_week":"Monday",
      "month":"December",
      "month_day":30
   },
   {
      "id":-1,
      "employee_store_week_id":937,
      "day_of_week":"Tuesday"
   },
   {
      "id":-1,
      "employee_store_week_id":937,
      "day_of_week":"Wednesday"
   },
   {
      "id":-1,
      "employee_store_week_id":937,
      "day_of_week":"Thursday"
   },
   {
      "id":-1,
      "employee_store_week_id":937,
      "day_of_week":"Friday"
   },
   {
      "id":-1,
      "employee_store_week_id":937,
      "day_of_week":"Saturday"
   },
   {
      "id":-1,
      "employee_store_week_id":937,
      "day_of_week":"Sunday"
   }
]
Контроллер Laravel:
    public function updateoradd(Request $request)
    {}
API-маршрутизация:
Route::prefix('schedule')->group(function () {
    Route::post('update_or_add', 'ScheduleController@updateoradd'); 

Я не ожидаю ошибок вообще, и иногда я получаю следующую ошибку:

исключение: "Symfony \ ComponentФайл \ HttpKernel \ Exception \ NotFoundHttpException ":" D: \ MyProject \ vendor \ laravel \ framework \ src \ Illuminate \ Routing \ RouteCollection.php "

Важное примечание: КогдаЯ уменьшаю количество объектов в массиве для отправки, эта ошибка не возникает, с другой стороны, отправляя точно такой же json, как показано выше (schedule_to_send), иногда ошибка возникает, а иногда нет, и она работает просто отлично.

1 Ответ

1 голос
/ 05 июня 2019

Как предложил Джордж, просто отправьте JSON в теле сообщения.Я изменил приведенный выше код на правильный способ работы.

изменен с:

 params: {
              schedule_days: schedule_to_send,                 
        },

на:

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