我有一個使用Django Rest Framework的API設置。當通過cURL或HTTPie甚至可瀏覽的API訪問時,它工作正常。 API具有令牌認證,因此最初必須提供將返回令牌的憑證。使用HTTPie(甚至捲曲),你可以這樣做:使用Javascript訪問Django Rest框架API - 獲取令牌
http POST http://127.0.0.1:8000/api/v1/api-token-auth/ username="user1" password="testpassword"
這將返回響應例如:
HTTP/1.0 200 OK
Allow: POST, OPTIONS
Content-Type: application/json
Date: Sun, 03 Sep 2017 16:57:38 GMT
Server: WSGIServer/0.2 CPython/3.6.1
X-Frame-Options: SAMEORIGIN
{
"token": "fgfdgfdgfdgfdgd45345345lkjlj"
}
你會再取令牌和執行GET/PUSH /等等,像這樣:
http --json POST http://127.0.0.1:8000/api/v1/test/ test_text="Testing" 'Authorization: Token fgfdgfdgfdgfdgd45345345lkjlj'
我一直在谷歌目前正在尋找了一段時間,並不能找到任何明確的答案爲以上兩行如何轉化成JavaScript?我如何(1)通過憑證來獲取令牌; (2)檢索令牌; (3)使用令牌發出GET和PUSH請求?
你使用特定的框架/庫嗎? – bryan60
Hi @ bryan60,我沒有使用任何特定的Javascript庫。我很高興使用任何JS庫完成工作。 – shaz
您無法使用post方法在url中發送數據。您需要以標題中的鍵值對的形式傳遞憑證。 –