Как отключить экранирование специальных символов в строке параметров с помощью Axios - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь установить разделитель, в данном случае :\n размещение данных с помощью axios, к сожалению, содержит специальный символ, который экранируется в строке параметров при достижении API. Стало :\\n

    //# src/stores/chat_configurations.js
    const actions = {
      async updateDelimeter ( commit, delimeter) {
        console.log(delimeter)
    // ":\n"
        await axios.put(`/api/chat_configuration`, delimeter: delimeter)
      }
    }

перед отправкой запроса он остается неизменным. ":\n"

    // # src/lib/api.js
    // Add a request interceptor
    axios.interceptors.request.use(function (config) {
        console.log(config)
    // {"delimeter": ":\\n"}"
        return config
      }, function (error) {
        // Do something with request error
        return Promise.reject(error)
      })

Однажды в перехватчике строка запроса экранируется. ":\\n"

Есть ли способ отключить неэкранирование специальных символов в строке запроса с помощью axios?

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

Я действительно не знаю о vue.js, но попробую объяснить:

paramsSerializer можно установить на уровне экземпляра:

var instance = axios.create({ paramsSerializer: function(params) { /* ... */ } })

или на глобальном уровне:

axios.defaults.paramsSerializer = function(params) { /* ... */ };

Другим вариантом является непосредственное добавление ключа API к URL-адресу:

axios.get('https://foobar.com/api?api_key=' + key);

Вы можете добавить дополнительные параметры, используя опцию конфигурации `params ':

axios.get('https://foobar.com/api?api_key=' + key, {
  params: {
    foo: 'bar'
  }
});
0 голосов
/ 23 мая 2019

Вы можете закодировать его с помощью encodeURIComponent, и должен быть способ декодировать его на стороне сервера. В ASP.NET вы могли бы сделать это с HttpUtility.UrlDecode.

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