微信小程序之POST请求

  • A+
所属分类:微信小程序

微信小程序之POST请求

微信小程序里post请求和get情求,写法差不多,但是还是有一点点不同的,下面利用post请求做一个查询天气的微信小程序demo。

页面代码:

  1. <view> {{title}} </view>  
  2.   
  3. <span style="font-size:24px;"><!--index.wxml-->    
  4. <view class="container">    
  5.     <view style="color:{{red}}">{{city_name}}</view>    
  6.     <view>{{date}}</view>    
  7.     <view>{{info}}</view>    
  8. </view></span>   

js代码:

  1. var app = getApp();  
  2. var that;    
  3. var Util = require( '../../utils/util.js' );  
  4. Page( {    
  5.   data: {      
  6.     city_name: '',   
  7.     title:'',  
  8.     red:'green'  
  9.   },    
  10.   onLoad: function(options) {    
  11.       this.setData({  
  12.           title:options.title  
  13.       })  
  14.     that = this;   
  15.     wx.request( {    
  16.       url: "http://op.juhe.cn/onebox/weather/query",    
  17.       header: {    
  18.       //请求头和ajax写法一样  
  19.         "Content-Type""application/x-www-form-urlencoded"    
  20.       },    
  21.       method: "POST",     
  22.       data: Util.json2Form( { cityname: "北京", key: "1430ec127e097e1113259c5e1be1ba70" }),    
  23.       complete: function( res ) {   
  24.   
  25.          wx.showToast({  
  26.             title:'成功',  
  27.             icon:'success',  
  28.             duration:2000  
  29.          })  
  30.   
  31.         that.setData( {     
  32.             red:'red',  
  33.           city_name: res.data.result.data.realtime.city_name,    
  34.           date: res.data.result.data.realtime.date,    
  35.           info: res.data.result.data.realtime.weather.info,    
  36.         });    
  37.         if( res == null || res.data == null ) {    
  38.           console.error( '网络请求失败' );    
  39.           return;    
  40.         }    
  41.   
  42.          setTimeout(function(){  
  43.              wx.hideToast()  
  44.          },2000)  
  45.       }    
  46.     })    
  47.   }  
  48.   
  49. })    

依赖util.js代码:

  1. function json2Form(json) {    
  2.     var str = [];    
  3.     for(var p in json){    
  4.         str.push(encodeURIComponent(p) + "=" + encodeURIComponent(json

    ));    

  5.     }    
  6.     return str.join("&");    
  7. }   
  8.   
  9. module.exports = {  
  10.   formatTime: formatTime,  
  11.   json2Form:json2Form,  
  12. }  
钰玺

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: