Connecting to parse-server from Javascript - 400 Forbidden
我正在尝试通过执行" npm start"在本地运行parse-server。我知道服务器在http:// localhost:1337上运行,当我在浏览器中输入此命令时,我会收到一个有效的响应。但是,当我尝试使用Javascript API连接到它时,出现以下错误:
1 | POST http://localhost:1337/parse/login 403 (Forbidden) |
如果我将后端托管在Heroku上,则可以使用它,这使我认为问题在于Javascript中的Parse寻找https链接。这是我在Javascript中加载解析的方式:
1 2 3 | var Parse = require('parse') Parse.initialize('appID', 'javascriptKey') Parse.serverURL = 'http://localhost:1337/parse' |
大多数解决方案都涉及在浏览器请求中添加" X-Parse-Application-Id"和" X-Parse-Master-Key"标头,但是该请求是通过Javascript API进行的。
我该如何解决?
您收到的403是未经授权的请求的正常响应。在这种情况下,您需要正确传递设置所需的标头以通过进行身份验证。在文档rest指南中可以看到一个很好的例子。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # Signup a new user curl -X POST \\ -H"X-Parse-Application-Id: app-id-here" \\ -H"X-Parse-REST-API-Key: ${REST_API_KEY}" \\ -H"X-Parse-Revocable-Session: 1" \\ -H"Content-Type: application/json" \\ -d '{"username":"cooldude6","password":"p_n7!-e8","phone":"415-392-0202"}' \\ http://localhost:1337/parse/users # Login as user curl -X GET \\ -H"X-Parse-Application-Id: app-id-here" \\ -H"X-Parse-REST-API-Key: ${REST_API_KEY}" \\ -H"X-Parse-Revocable-Session: 1" \\ -G \\ --data-urlencode 'username=cooldude6' \\ --data-urlencode 'password=p_n7!-e8' \\ http://localhost:1337/parse/login |
请注意在标头中传递的appId和restKey,如果它们正确(并且服务器设置为需要REST密钥),您将获得不同的400响应。
1 | {"code":200,"error":"username/email is required."} |
这只是从文档中提取的,所以我建议您从那里开始。此外,我们也有一些方便的JS文档。