react fetch请求

首先封装get:(get.js)

[javascript]  view plain  copy
  1. import 'whatwg-fetch'  
  2. import 'es6-promise'  
  3.   
  4. export function get(url) {  
  5.     // var result = fetch('http://www.mockhttp.cn'+url, { //打包apk时候使用  
  6.     var result = fetch(''+url, {  
  7.         credentails: 'include',  
  8.         mode: "cors",  
  9.         headers: {  
  10.             'Accept''application/json, text/plain, */*',  
  11.             'Content-Type''application/x-www-form-urlencoded'  
  12.         }  
  13.     });  
  14.     return result;  
  15. }  
封装post:(post.js)

[javascript]  view plain  copy
  1. import 'whatwg-fetch'  
  2. import 'es6-promise'  
  3.   
  4. //将json对象拼接成 key=val&key=val 的字符串形式  
  5. function obj2params(obj) {  
  6.     var result = '';  
  7.     var item;  
  8.     for(item in obj){  
  9.         result += '&' + item + '=' +encodeURIComponent(obj[item]);  
  10.     }  
  11.   
  12.     if(result) {  
  13.         result = result.slice(1);  
  14.     }  
  15.     return result;  
  16. }  
  17.   
  18. //发送 post 请求(首先会发送option)  
  19. export function post(url, paramsObj) {  
  20.     var result = fetch(url, {  
  21.         method: 'post',  
  22.         mode:'cors',  
  23.         headers: {  
  24.             'Accept''application/json',  
  25.             'Content-Type''application/x-www-form-urlencoded'  
  26.         },  
  27.         body: obj2params(paramsObj)  
  28.     });  
  29.   
  30.     return result;  
  31. }  
引用:(对外提供出口index.js)

[javascript]  view plain  copy
  1. import { get } from '../get'  
  2. import { post } from '../post'  
  3.   
  4. export function postGpio(param) {  
  5.     const result = post('*******',param)  
  6.     return result  
  7. }  
在jsx中调用:(写了一个函数 调用就行)

[javascript]  view plain  copy
  1. postMessage(param) {  
  2.         //send message  
  3.         var params = {}  
  4.         params.whichGpio = param  
  5.         const result = postGpio(params)  
  6.         result.then(res => {  
  7.             return res.json()  
  8.         }).then(json => {  
  9.             // get result  
  10.             const data = json  
  11.             if(data.code == '1'){  
  12.                 Toast.success('Send success !', 2);  
  13.             }  
  14.         }).catch(ex => {  
  15.             // 发生错误  
  16.             console.error('获取数据出错, ', ex.message)  
  17.         })  
  18.     }  

你可能感兴趣的:(js,react)