2016-11-05 36 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, ' ')); });