zoukankan      html  css  js  c++  java
  • 微信小程序wx.request请求用POST后台得不到传递数据

    在小程序中与后台交互数据用到的是wx.request;但是今天我用它来传递数据的时候,后台却得不到数据,

    php:

    header("Access-Control-Allow-Origin:*");
    // 响应类型
    header('Access-Control-Allow-Methods:POST');
    // 响应头设置
    header('Access-Control-Allow-Headers:x-requested-with, content-type');
    
    function getData($key, $default = "")
    {
        return trim(isset($_REQUEST[$key])? $_REQUEST[$key]:$default );
    }
    $tabName = getData("tabName");
    var_dump($tabName);
    

      我先用ajax进行调取,可以得到:

    html:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <button>
        点击获取
    </button>
    <p>
    
    </p>
    </body>
    <script src="http://g.ydbcdn.com/jquery/latest/jquery.min.js"></script>
    <script>
        $(() => {
            $("button").click(() => {
                $.ajax({
                    url:"http://fm.xiaofany.com/chart/chartsData.php",
                    type:"post",
                    data:{"tabName":"subject"},
                    dataType:"json",
                    success:function (data) {
                        console.log(data)
                    }
                })
            })
        })
    </script>
    </html>
    

      

    可以得到我传递的参数

    小程序的wxml:

       wx.request({
          url: "http://fm.xiaofany.com/chart/chartsData.php",
          data: {tabName:event.currentTarget.dataset.sub},
          method:"POST",
          dataType:"json",
          success:function(res){
            console.log(res.data)
          }
        })
    

      

    结果跑并没有得到,原因是在传递的时候小程序需要写上头部信息:

    header: { 'content-type': 'application/x-www-form-urlencoded' },
     
      wx.request({
          url: "http://fm.xiaofany.com/chart/chartsData.php",
          data: {tabName:event.currentTarget.dataset.sub},
          header: { 'content-type': 'application/x-www-form-urlencoded' },
          method:"POST",
          dataType:"json",
          success:function(res){
            console.log(res.data)
          }
        })
    

      这样就可以啦

  • 相关阅读:
    核函数矩阵为什么要是positive semidefinite的
    Autoencoders
    Statistics与Machine Learning有什么区别
    [zz]Using SyncTeX with LaTeX
    Metric Learning的一个疑惑
    [zz]Latex中texworks编辑器正向反向跳转搜索
    [zz]Python3.x新特性
    LyX 2.0.5中文排版
    function
    多行文字结尾显示省略号
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/8404718.html
Copyright © 2011-2022 走看看