请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

向rap的请求失败,报 Network request failed 错误

  componentDidMount() {

    this._fetchData();

  }


  _fetchData() {

    fetch('http://rap.taobao.org/mockjs/7265/api/creations?accessToken=12')

      .then(res => res.json())

      .then(resJson => {

        //let data = Mock.mock(resJson)

        //console.log(data);

        console.log(resJson)

      })

      .catch(err => {

        console.warn(err);

      })

  }

请问,为什么我的这个请求在RN中老是报 Network request failed 错误,但是如果在浏览器中请求却能成功?

正在回答 回答被采纳积分+3

1回答

Scott 2016-09-06 20:19:29

新版本的 RN 多了一些协议的限制,可以从 xcode 里修改

https://img1.sycdn.imooc.com/szimg//57ceb4450001476629920552.jpg


或者找到 info.plist, 把 NSAllowsArbitraryLoads 加上设为 true


<key>NSAppTransportSecurity</key>
    <dict>
      <key>NSAllowsArbitraryLoads</key>
      <true/>
      <key>NSExceptionDomains</key>
      <dict>
        <key>localhost</key>
        <dict>
          <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
          <true/>
        </dict>
      </dict>
    </dict>


2 回复 有任何疑惑可以回复我~
  • 老师,在Win10+Android环境下也报这个Network request failed,查了多种方案也没有解决,有什么方案?
    回复 有任何疑惑可以回复我~ 2017-06-05 16:27:17
  • Scott 回复 恍然小悟 #2
    直接在 win10 上,用浏览器访问 rap 的某个接口地址,能返回吧。
    
    Android 的场景我是在 Mac 上面测试了一下,win10 的还真没有头绪,你看看用 android studio 或者 elipse 装一个新的模拟器试试看,换一个 google api 的版本,比如从 23 换到 25
    回复 有任何疑惑可以回复我~ 2017-06-06 08:35:20
  • 修改了info.plist没用
    回复 有任何疑惑可以回复我~ 2017-09-27 22:57:26
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信