2016-11-05 64 views
0
具有难度

林发送HTTP提取在一个标准的阿波罗​​获取数据

我试图以下无济于事上graphql.org引导请求。

```

fetch('https://localhost:8080/graphql', { 
       "method": 'POST', 
       "headers": { "Content-type": "application/graphql", "Accept": "application/json"}, 
       "body": {"query": "{ places { id name address city }" } 
      }) 
      .then(function(response) { return response.json; }) 
      .then(function(responseObject) { data.value = responseObject; }); 

```

只是为了测试这一点,我使用的是Fusetools News Feed Example和断开的获取与呼叫呼叫使用标准的HTTP阿波罗服务器

这与完整的代码只与返回的字段已更改。

```

<DockPanel> 
    <JavaScript> 
     var Observable = require("FuseJS/Observable"); 

     var data = Observable(); 
     fetch('https://localhost:8080/graphql', { 
      "method": 'POST', 
      "headers": { "Content-type": "application/graphql", "Accept": "application/json"}, 
      "body": {"query": "{ places { id name address city }" } 
     }) 
     .then(function(response) { return response.json; }) 
     .then(function(responseObject) { data.value = responseObject;    }); 


     module.exports = { 
      dataSource: data 
     }; 
    </JavaScript> 

    <StatusBarBackground Dock="Top" /> 
    <BottomFrameBackground Dock="Bottom" /> 

    <StackPanel Dock="Top"> 
     <Text FontSize="28" Alignment="VerticalCenter" 
      TextAlignment="Center" Padding="2" 
      Value="NEWS" /> 
     <Rectangle Height="1" Margin="0,3,0,0" Fill="#333c48" /> 
    </StackPanel> 

    <Text ux:Class="Header" Margin="10,10,10,5" TextWrapping="Wrap" FontSize="22" /> 
    <Text ux:Class="Article" Margin="10,0,10,0" TextWrapping="Wrap" FontSize="13" /> 
    <Text ux:Class="PublishedDate" Margin="10,0,10,0" FontSize="13" Color="#999" /> 

    <ScrollView> 
     <StackPanel Alignment="Top"> 
      <Panel Height="7" /> 
      <Each Items="{dataSource.data.places}"> 
       <Panel ux:Class="HorizontalBar" Margin="46,10,0,10" 
         Alignment="VerticalCenter"> 
        <Rectangle Height="1" Fill="#dcdee3" /> 
       </Panel> 

       <Header Value="{name}" /> 
       <Article Value="{address}" /> 
       <PublishedDate Value="{city}" /> 
       <HorizontalBar /> 
      </Each> 
     </StackPanel> 
    </ScrollView> 

</DockPanel> 

``` 任何指导,将不胜感激。谢谢。

回答

0

要使用取到graphql服务器,在我的情况下工作的正确语法是如下。谢谢,丹尼尔。

fetch('https://graphql-swapi.parseapp.com/', { 
    method: 'POST', 
    headers: { "Content-type": "application/json", "Accept": "application/json"}, 
    body: JSON.stringify({"query":"{allFilms {totalCount}}","variables":null,"operationName":null}) 
}).then(function(response) { return response.json(); }) 
.then(function(responseObject) { console.log('GOT', JSON.stringify(responseObject, null, ' ')); });