微信小程序 POST请求(网络请求)详解及实例代码


Posted in Javascript onNovember 16, 2016

微信小程序 POST请求

微信小程序开发中网络请求必不可少.GET.POST请求是最常用的.GET请求,POST请求的时候有好几个坑.我已经为大家填好了.

<img src="http://img.blog.csdn.net/20161017170933243?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" align="middle" alt="" />

按照文档,肯定是这么写.那就入坑了.

1. 'Content-Type': 'application/json'用在get请求中没问题.

POST请求就不好使了.需要改成: "Content-Type": "application/x-www-form-urlencoded"

2016.11.10更新:有同学在将content-type 修改为小写后,post请求成功.

2. 加上method: "POST"

3.data: { cityname: "上海", key: "1430ec127e097e1113259c5e1be1ba70" }写成json格式这样也是请求不到数据的.需要转格式.

下面直接贴代码:

 3.1

<span style="font-size:24px;">//index.js 
//获取应用实例 
var app = getApp() 
Page( { 
 data: { 
  toastHidden: true, 
  city_name: '', 
 }, 
 onLoad: function() { 
  that = this; 
  wx.request( { 
   url: "http://op.juhe.cn/onebox/weather/query", 
   header: { 
    "Content-Type": "application/x-www-form-urlencoded" 
   }, 
   method: "POST", 
   //data: { cityname: "上海", key: "1430ec127e097e1113259c5e1be1ba70" }, 
   data: Util.json2Form( { cityname: "上海", key: "1430ec127e097e1113259c5e1be1ba70" }), 
   complete: function( res ) { 
    that.setData( { 
     toastHidden: false, 
     toastText: res.data.reason, 
     city_name: res.data.result.data.realtime.city_name, 
     date: res.data.result.data.realtime.date, 
     info: res.data.result.data.realtime.weather.info, 
    }); 
    if( res == null || res.data == null ) { 
     console.error( '网络请求失败' ); 
     return; 
    } 
   } 
  }) 
 }, 
 onToastChanged: function() { 
  that.setData( { toastHidden: true }); 
 } 
}) 
var that; 
var Util = require( '../../utils/util.js' );</span>

3.2

<span style="font-size:24px;"><!--index.wxml--> 
<view class="container"> 
  <toast hidden="{{toastHidden}}" bindchange="onToastChanged"> 
    {{toastText}} 
  </toast> 
  <view>{{city_name}}</view> 
  <view>{{date}}</view> 
  <view>{{info}}</view> 
</view></span>

3.3

<span style="font-size:24px;">//util.js 
function json2Form(json) { 
  var str = []; 
  for(var p in json){ 
    str.push(encodeURIComponent(p) + "=" + encodeURIComponent(json[p])); 
  } 
  return str.join("&"); 
} 
module.exports = { 
 json2Form:json2Form, 
}</span>

微信小程序 POST请求(网络请求)详解及实例代码

希望对大家有帮助.

Javascript 相关文章推荐
js 日期转换成中文格式的函数
Jul 07 Javascript
JS执行删除前的判断代码
Feb 18 Javascript
node+express+jade制作简单网站指南
Nov 26 Javascript
JQuery中的事件及动画用法实例
Jan 26 Javascript
JS获取网页图片name属性的方法
Apr 01 Javascript
JS实现图片高亮展示效果实例
Nov 24 Javascript
ie下js不执行的几种可能
Feb 28 Javascript
bootstrap插件treeview实现全选父节点下所有子节点和反选功能
Jul 21 Javascript
angular实现input输入监听的示例
Aug 31 Javascript
VUE实现可随意拖动的弹窗组件
Sep 25 Javascript
angular2 组件之间通过service互相传递的实例
Sep 30 Javascript
一些你可能不熟悉的JS知识点总结
Mar 15 Javascript
微信小程序 swiper组件轮播图详解及实例
Nov 16 #Javascript
input框中的name和id的区别
Nov 16 #Javascript
微信小程序 页面传参实例详解
Nov 16 #Javascript
JS中关于事件处理函数名后面是否带括号的问题
Nov 16 #Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
Nov 16 #Javascript
jQuery实现的购物车物品数量加减功能代码
Nov 16 #Javascript
使用JavaScript获取URL中的参数(两种方法)
Nov 16 #Javascript
You might like
用PHP读取flv文件的播放时间长度
2009/09/03 PHP
3种方法轻松处理php开发中emoji表情的问题
2016/07/18 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
php微信开发之百度天气预报
2016/11/18 PHP
PHP简单实现解析xml为数组的方法
2018/05/02 PHP
laravel config文件配置全局变量的例子
2019/10/13 PHP
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
javascript学习笔记(一)基础知识
2014/09/30 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
jquery实现图片列表鼠标移入微动
2016/12/01 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
JS实现浏览上传文件的代码
2017/08/23 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
对TypeScript库进行单元测试的方法
2019/07/18 Javascript
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
Python:slice与indices的用法
2019/11/25 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
Python如何实现远程方法调用
2020/08/07 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
css3动画效果小结(推荐)
2016/07/25 HTML / CSS
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
NOTINO英国:在线购买美容和香水
2020/02/25 全球购物
高一家长会邀请函
2014/01/12 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
优秀的个人求职信范文
2014/05/09 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
2016年小学教师政治学习心得体会
2016/01/23 职场文书
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL
MySQL基于索引的压力测试的实现
2021/11/07 MySQL
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python