jQuery получить JSON в аксиос - PullRequest
       4

jQuery получить JSON в аксиос

0 голосов
/ 04 февраля 2020

Я хочу изменить jQuery вызов API на Ax ios API вызов.

jQuery код ниже

$.getJSON('some_url?CART_GOODS_INFO=' + encodeURIComponent(cartData) + '&callback=?', function (data) {
            if (data.IsSuccess) {
                alert('success');
           } else {
                if ($.trim(data.ResultMessage) != '') {
                    alert(data.ResultMessage);
                } else {
                    alert('failed');
                }
            }
        });

Я пытался изменить этот код в to ax ios

axios.get('some_url', {
        params: {
            CART_GOODS_INFO: encodeURIComponent(cartData)
        }
      })
      .then((response) => {
        console.log(response)
      })
      .catch((error) => {
        console.log(error)
      })
      .then(() => {
        // always executed
      })

Я получаю ошибку CORS, которая не имеет никакого отношения к моему вопросу.

В любом случае, кажется ли это правильным кодом от 'jQuery get JSON' до 'ax ios get'?

Я не совсем уверен, что это '&callback=?' в jQuery код.

К вашему сведению. что some_url не фактический URL. на всякий случай, если вы запутались.

У кого-нибудь есть идеи, пожалуйста, добавьте комментарий. Заранее спасибо.

1 Ответ

0 голосов
/ 04 февраля 2020

Вы получаете ошибку CORS с топором ios, но не с jQuery.

Ошибка CORS означает, что на вашем сервере отсутствует заголовок источника разрешения контроля доступа. Поскольку браузеры по умолчанию не разрешают междоменные вызовы, вы получаете эту ошибку.

В более ранние дни JSONP использовался в качестве обходного пути для решения этой проблемы. Обратный вызов отправляется в запросе, и сервер отправляет ответы, помещая ответ в функцию обратного вызова. Это то, что делает ваш jQuery код. Подробнее об этом здесь .

Чтобы решить эту проблему, вам нужно будет найти способ совершать вызовы JSONP с помощью топора ios.

Надеюсь, это поможет.

...