Как я могу получить xml POST? - PullRequest
0 голосов
/ 01 мая 2020

Я работаю над REST API, который xml Это учебное пособие https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_get_started_tutorial_part_1.htm, а тело запроса:

<tsRequest>
    <credentials name="user-name" password="password">
        <site contentUrl="my-site-name" />
    </credentials>
</tsRequest>

Я пытаюсь

const requestionOptions = {
  method: "POST",
  body: '<tsRequest>
    <credentials name="myusername" password="mypassword">
        <site contentUrl="my-site-name" />
    </credentials>
</tsRequest>'
}
const baseUrl = 'example.com'
export function userLogin(username, password){
  fetch(baseUrl, requestOptions)
    .then(res => {console.log(res)})
    .catch(err => {console.log(err)})
}

Перед запуском этого сценария я проверил код в консоль dev, консоль dev выдает ошибку requestOPtion, что необработанный синтаксис. Как я могу создать вызов извлечения с этим XML?

1 Ответ

0 голосов
/ 01 мая 2020

Попробуйте

const requestOption = {
  method: POST
  body: `<tsRequest>
    <credentials name="myusername" password="mypassword">
        <site contentUrl="my-site-name" />
    </credentials>
</tsRequest>`
}
const baseUrl = 'example.com'
export function userLogin(username, password){
  fetch(baseUrl, requestOption)
    .then(res => {console.log(res)})
    .catch(err => {console.log(err)})
}

«Одиночные кавычки» не поддерживают многострочный способ, которым вы пытаетесь это сделать. Вам нужно использовать «Back Tick» для создания многострочных ie «литералов шаблона». Справка: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

Кроме того, похоже, что у вас есть переменная орфографическая ошибка? ie requesttionOptions должен быть requestOption?

...