Javascript
Ardor API:由於 CORS 問題,無法對 Axios 使用 POST 請求
我對 Ardor API 的 POST 請求有疑問。這段程式碼:
<!DOCTYPE html> <html> <head> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script> function myFunction() { let nodeurl = "https://testardor.jelurida.com/nxt"; const query = { recipient:'ARDOR-KZ3Y-4B97-6KF6-2V8WA', amountNQT:34, feeNQT:-1, deadline:15 }; axios.post(nodeurl, query) .then(function(response) { console.log(response.data); document.getElementById("demo").innerHTML = response.data; }) .catch(function (error) { console.log(error.message); }); } </script> </head> <body> <h2>Preflight request to CORS enabled Ardor Node fails</h2> <p id="demo">The result should appear here</p> <button type="button" onclick="myFunction()">Try it</button> </body> </html>
在預檢期間失敗。鉻合金:
無法載入<http://localhost:26876/nxt>:對預檢請求的響應未通過訪問控制檢查:請求的資源上不存在“Access-Control-Allow-Origin”標頭。因此,不允許訪問源“ http://127.0.0.1:3000 ”。響應具有 HTTP 狀態程式碼 403。
我的理解是,需要發送“Access-Control-Allow-Origin”標頭的不是我,而是 Ardor/NXT 節點。
可能只是我沒有得到它。有一些選項,您可以更改內容類型,NXT API 可以嗎?這是任何人必須做的事情嗎?
它只是失敗了 POST,GET 工作正常。
感謝您提供正確方向的任何指示。
2.1.0e 之前的 Ardor 版本拒絕了 OPTIONS Http 方法。此方法現已啟用,因此問題應該得到解決。
似乎 Axios 使用 OPTIONS Http 請求來檢查是否啟用了 CORS,並且由於它被禁止,因此響應是 403 響應。