這個問題在這里已經有了答案: 為什么我的 JavaScript 代碼會收到“請求的資源上不存在‘Access-Control-Allow-Origin’標頭”錯誤,而 Postman 則沒有? (6 個回答) 8 小時前關閉。
我正在使用 axios 從包含 XML 資料的 API 中獲取一些資料。我的 API 呼叫在 Postman 中作業,但在 reactjs 中,它拋出錯誤,如請求的資源上不存在“Access-Control-Allow-Origin”標頭。我試圖將'Access-Control-Allow-Credentials':true放在 headers 中。但它不起作用。也看看我的代碼
import axios from "axios";
import React, { useEffect } from "react";
const convert = require("xml-js");
export default function DailyNews() {
useEffect(() => {
axios
.get("https://www.tcmb.gov.tr/kurlar/today.xml")
.then(function (response) {
console.log(response); // this will print xml data structure
const data = JSON.parse(
convert.xml2json(response.data, { compact: true, spaces: 2 })
);
console.log(data);
})
.catch(function (error) {
console.log(error);
})
.then(function () {
// always executed
});
}, []);
return (
<div>
<h1>XML CALISMASI</h1>
</div>
);
}
uj5u.com熱心網友回復:
您的代碼拋出錯誤,因為您的域未在其網站上列入白名單,這意味著您不能只查詢其 URL 并使用它,然后您的瀏覽器會將其視為安全違規。 https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
話雖如此,CORS 只是瀏覽器的事情,您仍然可以自己查詢該 API,然后從您的客戶端呼叫您自己的服務器 API,只要是您的服務器呼叫他們的 API,然后將資料傳遞給您的客戶端。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/350821.html
標籤:javascript 反应 xml 公理
