簡體   English   中英

POST 和 GET API 使用 fetch 請求,無法獲取數據

[英]POST and GET API Request using fetch, cannot get the data

我正在嘗試使用這個網站: https://rel.ink/ ,在我的 web 應用程序中實現鏈接縮短器,我可以成功發布請求,但我得到的是相同的 object,而不是縮短版本。 我知道這是基本的東西,但我無法理解它。 該網站聲明我需要通過 GET 請求發送更多信息,但 GET 請求不應包含正文,是嗎?

這是我的代碼:

async function fetchNewLink() {

  let newLinkJson = await postLink(input.value)

  let newLink = await getShortLink(newLinkJson)
  console.log(newLink)
}

function postLink(input) {
  return fetch('https://rel.ink/api/links/', {
      method: 'POST',
      body: JSON.stringify({
        url: input
      }),
      headers: {
        "Content-type": "application/json"
      }
    })
    .then(response => response.json())
    .then(json => json)
}

function getShortLink(response) {
  return fetch('https://rel.ink/api/links/' + response.hashid)
    .then(result => result.json())
    .then(newLink => newLink)
}

非常感謝

如果您要獲取的是鏈接的縮短版本,則 API 不會在您發出請求時完全返回該鏈接。 但是,您所需要的hashid它返回的哈希值。 縮短的鏈接是主網站的 url ( https://rel.ink ) 與hashid連接。

因此,如果hashid在您發出 POST 請求時返回nJzb3n作為哈希值,則縮短的鏈接將為https://rel.ink/nJzb3n

我希望這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM