反应使土著用取发送网络请求的示例代码

  

我们在项目中经常会用到HTTP请求来访问网络,HTTP (HTTPS)请求通常分为“得到”,“把”、“后”,“删除”,如果不指定默认为得到请求。

  

在项目中我们常用到的一般为GET和POST两种请求方式,针对带参数的表单提交这类的请求,我们通常会使用邮政的请求方式。

  

为了发出HTTP请求,我们需要使用到反应本地提供的获取API来进行实现。要从任意地址获取内容的话,只需简单地将网址作为参数传递给取方法即可(获取这个词本身也就是获取的意思

  

<强>得到

  

如果你想要通过得到方法去请求数据并转化成JSON,可以通过如下代码实现:

        fetch (“https://facebook.github.io/react-native/movies.json”)   不要犹豫((响应)=比;response.json ())   不要犹豫((responseJson)=比;{   返回responseJson.movies;   })   .catch(错误)=比;{   console.error(错误);   });   之前      

通过上面的请求把返回的反应转化成JSON对象,然后取出JSON对象里的电影字段。同时,如果发生错误,如网络不通或访问连接错误等,会被.catch。在正常的情况下,我们可以得到如下结果:

        {   “标题”:“基础——网络”,   “描述”:“你的应用程序从远程端点获取这个!”,   “电影”:(   {“标题”:“星球大战”,“releaseYear”: " 1977 "},   {“标题”:“回到未来”、“releaseYear”: " 1985 "},   {“标题”:“矩阵”,“releaseYear”: " 1999 "},   {“标题”:《盗梦空间》," releaseYear ": " 2010 "},   {“标题”:“星际”、“releaseYear”: " 2014 "}   ]   }   之前      

<强>文章(一)

  

当然,上面是最基本的就请求,获取还有可选的第二个参数,可以用来定制HTTP请求一些参数。你可以指定头参数,或是指定使用发布方法,又或是提交数据等等:获取API还支持自定义头,更换方法,添加身体等。

        让url=" http://www.yousite.com/xxxx.ashx "   让params={“名称”:“admin”、“密码”:“admin”};   fetch (url, {   方法:“文章”,   标题:{   “接受”:application/json,   “内容类型”:“application/json”,   },   身体:JSON.stringify (params)   })   之前      

上面构建了一个基本的帖子请求,添加了自己的标题:接受和内容类型,添加了身体。

  

<强>文章(二)

        让url=" http://www.yousite.com/xxxx.ashx ";   让params="用户名=admin&密码=admin”;   fetch (url, {   方法:“文章”,   标题:{   “内容类型”:“应用程序/x-www-form-urlencoded”   },   身体:参数,   })((响应)=比;{   如果(response.ok) {   返回response.json ();   }   })((json)=比;{   console.log (json)   }).catch(错误)=比;{   console.error(错误);   });   之前      

<强> POST(三)推荐

  

通过上面两种方法,我们还有一种方式可以发送帖子请求,当然这种方式也是被推荐使用的。
  

  

如果你的服务器无法识别上面后的数据格式,那么可以尝试传统的形式格式,示例如下:

        让REQUEST_URL=' http://www.yousite.com/xxxx.ashx ';//笆紫任颐切枰约捍唇ㄒ桓鯢ormData,来存请求参数的      让参数=new FormData ();   参数。追加(“太”、“30013”);   参数。追加(“pg”,“1”);   参数。追加(“ps”、“20”);         fetch (REQUEST_URL, {   方法:“文章”,   身体:参数   })(   (结果)=比;{   如果(result.ok) {   console.log(结果)   result.json () (   (obj)=比;{   console.log (obj)   }   )   }   }   ).catch((错误)=比;{   console.log(错误)   Alert.alert(错误的)   })      之前      

推荐这种方法的好处还有一个,就是可以在FormData中直接传递字节流实现上传图片的功能,代码如下:

        uploadImage () {   让formData=https://www.yisu.com/zixun/new formData ();   让文件={uri: uri,类型:“多部分/格式”,名称:' a.jpg '};      formData.append(“图片”文件);      fetch (url, {   方法:“文章”,   标题:{   “内容类型”:“多部分/格式”,   },   身体:formData,   })   不要犹豫((响应)=比;response.text ())   不要犹豫((responseData)中=祝辞{      console.log (responseData”中,responseData)中;   })   .catch((错误)=祝辞{console.error(“错误”,错误)});      }         

反应使土著用取发送网络请求的示例代码