ホームページ  >  記事  >  php教程  >  WeChatアプレットのPOSTリクエスト(ネットワークリクエスト)の詳細説明とサンプルコード

WeChatアプレットのPOSTリクエスト(ネットワークリクエスト)の詳細説明とサンプルコード

高洛峰
高洛峰オリジナル
2016-12-06 15:57:222393ブラウズ

WeChat アプレットの POST リクエスト

WeChat アプレットの開発では GET.POST リクエストが不可欠です。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 を次のように変更しました。小文字で投稿リクエストを行いました。

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 までご連絡ください。