以下のコマンドを使用して、解析からオブジェクトを正常に取得できます。
curl -X GET \
-H "X-Parse-Application-Id:1231231231" \
-H "X-Parse-REST-API-Key: 131231231" \
-G \
--data-urlencode 'where={"uid":"12312312"}' \
https://api.parse.com/1/classes/birthday`
しかし、私はそれをjavascriptに変換するのに苦労しています。以下のコードを使用して、statusの200
で応答を取得します。エラーがdata-urlencodeをdataに変換していると思います:
var getObject = function {
var url = "https://api.parse.com";
url += '/1/classes/birthday';
fetch(url, {
method: 'GET',
headers: {
'Accept': 'application/json',
'X-Parse-Application-Id': '12122',
'X-Parse-REST-API-Key': '12121',
'Content-Type': 'application/json',
},
data: '{"where":{"uid":"12312312"}}'
})
.then(function(request, results) {
console.log(request)
console.log(results)
})
}
ありがとう!
私はよくこれをしたかったので、 https://kigiri.github.io/fetch/ を作成しました。curlコマンドをコピーして貼り付けると、フェッチコードが表示されます。
別の方法で使用する場合は、ソースをチェックアウトできます。
わかりましたので、基本的には別のものが必要です。したがって、それは約束と関係があります。この素晴らしい記事を読んだ後、私はそれを理解しました http://blog.gospodarets.com/fetch_in_action/
あなたがする必要があるのはこれです
var getObject = function {
var url = "https://api.parse.com";
url += '/1/classes/birthday';
return fetch(url, {
method: 'GET',
headers: {
'Accept': 'application/json',
'X-Parse-Application-Id': '12122',
'X-Parse-REST-API-Key': '12121',
'Content-Type': 'application/json',
},
data: '{"where":{"uid":"12312312"}}'
})
.then(function(response) {
return response.text();
})
.then(function(data){
console.log(data); //this will just be text
var data_obj = JSON.parse(data);
return data_obj
})
}
なぜresponse.text()を返さなければならないのかよくわかりません。再びそれは約束をする何かを持っています
https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Promise.jsm/Promise
なぜなら、最初からresponse.text()にアクセスするからです。約束を返します。
うまくいけば、他の親切な紳士がコメントし、response.text()を返すことが約束を必要なデータに変える理由を説明できれば幸いです。
-編集-
GetObjectに応答データをオブジェクトとして返す方法を示すために、いくつかのreturnを追加しました。そう
var d = getObject();
応答をjsオブジェクトとして返します。