Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将curl-GET转换为javascript-fetch_Javascript_Curl_Parse Platform_React Native - Fatal编程技术网

将curl-GET转换为javascript-fetch

将curl-GET转换为javascript-fetch,javascript,curl,parse-platform,react-native,Javascript,Curl,Parse Platform,React Native,我能够使用下面的命令从解析中成功检索对象: 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,使用下面的代码,我将得到状态为200

我能够使用下面的命令从解析中成功检索对象:

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,使用下面的代码,我将得到状态为
200
的响应。我假设错误是将数据urlencode转换为数据:


谢谢

好吧,那么基本上你还需要一个。因此,这与承诺有关。在读了这篇很棒的文章后,我发现了这一点

你需要做的是

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()。同样,这与承诺有关

因为当我从一开始访问response.text()时。它回报了一个承诺

希望其他类型的绅士能够评论并解释为什么返回response.text()会将承诺转化为您需要的数据

--编辑--

我添加了一些返回,以显示如何让getObject将响应数据作为对象返回。所以

var d = getObject();

现在将以js对象的形式返回响应。

因为我经常想这样做,所以我制作了一个,您可以复制/粘贴一个curl命令,它将为您提供获取代码

如果希望以不同方式使用源代码,则可以签出源代码

编辑:该功能已添加到chrome开发工具中
我不熟悉
fetch
,但它看起来不应该在
data
周围有单引号,比如
data:{“where”:{“uid”:“12312312312”}
@chillinut刚刚尝试过,同样的响应,谢谢:
body:(…),bodyUsed:false,headers:headers,ok:true,status:200,statusText:“ok”,键入:“cors”,网址:“https://api.parse.com/1/classes/birthday“
那么您解决了这个问题吗?我正在尝试类似的方法,但无论我在数据中输入了什么,甚至是格式错误的json,我都会从class/Run中获取所有的项。它没有过滤任何东西,也没有给我错误。当我对curl做同样的操作时,我得到了“json错误”,这是正确的方法,在尝试生成相同的输出之前,为什么不使用(Wireshark)并亲自查看发送的内容?是的,Charles!我爱你:D@user3696212我添加了对-F的支持,请尝试一下,如果您有任何问题,请告诉我。祝福您做到这一点!哇,太棒了!谢谢你,朋友:)
var d = getObject();