fetch API报错,Type Error: Network request failed



  • mac下面开发,ES6的语法,在ios模拟器中运行报错,fetch代码如下:

    fetch('http://api.openweathermap.org/data/2.5/weather?q=shanghai&appid=f585955180ec1a6c6d8c124e97410f8b&units=metric')
          .then((response) => response.json())
          .then((json) => {
            console.log(json);
            this.setState({
              forecast: {
                main: json.weather[0].main,
                description: json.weather[0].description,
                temp: json.main.temp
              }
            });
          })
          .catch((error) => {
            console.warn(error)
          })
    

    url直接用浏览器访问是正常的,就是模拟器里访问不了

    各位帮忙看看,谢谢了



  • 试试
    Info.plist中添加NSAppTransportSecurity来支持http,不然只能访问https



  • 可以了,万分感谢



  • 请问你是怎么设置的? 我也遇到这种情况!



  • 此回复已被删除!


  • 0_1473409969288_BD986712-10A5-4A38-9DEB-F5B45D7FD16D.png

    添加这一栏,默认是NO, 改成YES即可



  • @凭巽 忘了说,是在info.plist里添加这一栏.因为9.2的模拟器默认只支持HTTPS协议,这样修改后就能支持HTTP协议了


登录后回复