2016-11-16 6 views
1

Я использую приложение для запуска приложения Create-React-App, чтобы поиграть с ним. Я хочу проверить получение данных с помощью fetch узла, но он не работает. Я могу заставить его работать с аксиомами.React App fetch data using Node Fetch

Я получаю ошибку о том, что: Предупреждение в ./~/encoding/lib/iconv-loader.js критических зависимостей: 9: 12-34 запрос иждивенчества является выражением @ ./~ /encoding/lib/iconv-loader.js 9: 12-34

это, кажется, ошибка в webpack: ///./~/react-scripts/~/react-dev-utils/webpackHotDevClient.js ?

Я также получаю сообщение об ошибке: Не удалось загрузить ресурс: Net :: ERR_CONNECTION_TIMED_OUT и кажется, что выборки является добавление порта в URL при отправке запроса: http://codepen.io:3000/jobs.json

Код:

import React from 'react' 
import NodeFetch from 'node-fetch' 

class NodeFetchData extends React.Component { 
    constructor(props) { 
    super(props); 

    this.state = { 
     jobs: [] 
    }; 
    } 


    componentDidMount() { 

    NodeFetch('http://codepen.io/jobs.json') 
    .then(res => { 
     this.setState({ jobs:res.data.jobs }); 
    }); 
    } 

    render() { 
    return (
     <div> 
     <ul> 
      {this.state.jobs.map(job => 
      <li key={job.hashid}>{job.company_name}</li> 
     )} 
     </ul> 
     </div> 
    ); 
    } 
} 

export default NodeFetchData; 
+0

Мое предположение, что вы выполняете политику [того же происхождения] (https://en.wikipedia.org/wiki/Same-origin_policy). По умолчанию большинство браузеров не разрешают JS-код на странице доступа к содержимому с другого происхождения. – Kryten

ответ

0

Я предлагаю вам использовать https://github.com/github/fetch, что довольно стандартно, на самом деле это недавно было добавлено как peer в [email protected]).

Для более сложных случаев (например, для загрузки нескольких файлов и т. Д.) superagent идет хорошо!

 Смежные вопросы

  • Нет связанных вопросов^_^