>php教程 >PHP开发 >WeChat 애플릿 POST 요청(네트워크 요청)에 대한 자세한 설명 및 예제 코드

WeChat 애플릿 POST 요청(네트워크 요청)에 대한 자세한 설명 및 예제 코드

高洛峰
高洛峰원래의
2016-12-06 15:57:222475검색

WeChat 애플릿 POST 요청

WeChat 애플릿 개발에는 네트워크 요청이 필수적입니다. GET 요청은 이미 설명했습니다.


<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을 소문자로 변경했고 게시 요청은 다음과 같습니다. 성공했습니다.

2. 메소드 추가: "POST"

3.data: { cityname: "Shanghai", key: "1430ec127e097e1113259c5e1be1ba70" }json 형식으로 작성하면 데이터를 작성할 수 없습니다. 형식으로 전송해야 합니다.

아래 코드를 직접 게시하세요.

3.1

<span style="font-size:24px;">//index.js
//获取应用实例
var app = getApp()
Page( {
 data: {
  toastHidden: true,
  city_name: &#39;&#39;,
 },
 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( &#39;网络请求失败&#39; );
     return;
    }
   }
  })
 },
 onToastChanged: function() {
  that.setData( { toastHidden: true });
 }
})
var that;
var Util = require( &#39;../../utils/util.js&#39; );</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>

 


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.