解决·微信小程序开发-网络请求报Invalid request 400错误

今天学习了一下微信小程序的入门开发,在使用网络请求时,发现根据微信官方的API的方法进行操作出现Invalid request 400错误,到底怎么回事呢?

  • 首先我们来看微信API网络请求 示例代码:
wx.request({
  url: 'test.php', //仅为示例,并非真实的接口地址
  data: {
     x: '' ,
     y: ''
  },
  header: {
      'content-type': 'application/json'
  },
  success: function(res) {
    console.log(res.data)
  }
})
  • 我项目中的代码
wx.request({
    url: 'https://api.douban.com/v2/movie/in_theaters', //仅为示例,并非真实的接口地址
    data: {},
    method: 'get', 
    header: {
        'content-type': 'application/json'
    },
    success: function(res) {
        console.log(res.data)
        }
    })

但是发现会出现400错误。

错误提示如下所示:

这里写图片描述

这是怎么回事呢?

后来发现,微信开发者工具在更新到最新版本后(我现在使用的版本是0.14.140900),相应的参数配置也发生了变化,官网给出的这个配置已经不能用了,需要改为'Content-Type': 'json'

这里写图片描述

 wx.request({
    url: 'https://api.douban.com/v2/movie/in_theaters', //仅为示例,并非真实的接口地址
    data: {},
    method: 'get', 
    header: {
        // 'content-type': 'application/json'
        'Content-Type': 'json'
    },
    success: function(res) {
        console.log(res.data)
        }
    })

结果如下:

这里写图片描述

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是一个简单的 Django 微信小程序开发示例: 1. 创建 Django 项目并安装必要的依赖 首先,创建一个 Django 项目并安装必要的依赖。我们需要安装 `django`, `djangorestframework` 和 `wechatpy`。 ```bash pip install django pip install djangorestframework pip install wechatpy ``` 2. 配置微信公众号信息 在 `settings.py` 文件中,添加以下的配置信息: ```python WECHAT_APPID = 'your_appid' WECHAT_SECRET = 'your_secret' WECHAT_TOKEN = 'your_token' WECHAT_AES_KEY = 'your_aes_key' ``` 这些值可以在你的微信公众号管理后台找到。 3. 创建微信公众号 API 在 `views.py` 文件中,创建一个微信公众号 API,用于处理微信公众号发送的消息。 ```python from django.http import HttpResponse from wechatpy import parse_message, create_reply from wechatpy.utils import check_signature from wechatpy.exceptions import InvalidSignatureException def wechat(request): if request.method == 'GET': signature = request.GET.get('signature') timestamp = request.GET.get('timestamp') nonce = request.GET.get('nonce') echo_str = request.GET.get('echostr') try: check_signature(WECHAT_TOKEN, signature, timestamp, nonce) except InvalidSignatureException: return HttpResponse('Invalid signature') return HttpResponse(echo_str) else: xml = request.body.decode('utf-8') msg = parse_message(xml) if msg.type == 'text': reply = create_reply('Hello', msg) return HttpResponse(reply.render(), content_type='application/xml') else: return HttpResponse('') ``` 这个 API 将会处理微信公众号发送的消息并回复一个“Hello”消息。 4. 创建微信小程序 API 在 `views.py` 文件中,创建一个微信小程序 API,用于处理微信小程序发送的请求。 ```python from rest_framework.decorators import api_view from rest_framework.response import Response @api_view(['POST']) def wxapp(request): data = request.data # 处理微信小程序发送的请求 result = {'data': data} return Response(result) ``` 这个 API 将会处理微信小程序发送的请求,并返回一个包含请求数据的 JSON 对象。 5. 配置 URL 路由 在 `urls.py` 文件中,添加以下的 URL 路由信息: ```python from django.urls import path from .views import wechat, wxapp urlpatterns = [ path('wechat/', wechat, name='wechat'), path('wxapp/', wxapp, name='wxapp'), ] ``` 这些 URL 路由将会把请求分别转发到微信公众号 API 和微信小程序 API。 6. 运行 Django 服务器 最后,运行 Django 服务器并测试你的微信公众号和微信小程序。可以使用 ngrok 工具来暴露本地服务器,以便在微信公众号和微信小程序中访问。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值