搜索

首页  >  问答  >  正文

javascript - 小程序 发起网络请求的 POST 方法不能用吗?

我在开发小程序的时候 发起了一个网络请求

        wx.request({
          url:"http://www.xiaozhiheng.com/regi.php",
          data: {
            "username":userName
          },
          header: {
              'Content-Type': 'application/json'
          },
          method:'POST',
          success:function(res){
            console.log(res)
          }
        })

用的是POST 方法发送的username ,但是后台死活接不到值。

<?php  
if($_SERVER['REQUEST_METHOD'] == "POST"){
    $post = $_POST;
    $username=$_POST['username'];
    $arr = array('text' => $username, "pass" =>$_POST);
    echo json_encode($arr);
}

?>

最后换了GET方法,一切正常。
大家有遇到这样的问题吗??

PHP中文网PHP中文网2791 天前779

全部回复(5)我来回复

  • 迷茫

    迷茫2017-04-11 13:11:43

    $_POST 只能接收 Content-Type 为 application/x-www-form-urlencodedmultipart/form-data 的 POST 数据。

    如果你要用 $_POST 的话,你就改一下这里:

    header: {
                  'Content-Type': 'application/json'
              }

    把上面的 application/json 改成 application/x-www-form-urlencoded (如果要上传文件的话就改成 multipart/form-data,但是微信小程序里的上传文件用的是另外一个 API,具体的你可以仔细看一下文档)。

    如果你坚持不改掉 application/json 的话,也不是没有办法,你就用

    $input = file_get_contents('php://input');

    来读取 POST 过来的数据。


    参考资料(昨天刚在我朋友博客看到的):http://blog.zhengzi.me/541.html

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-11 13:11:43

    Content-Type不为multipart/form-data或者application/x-www-from-urlencoded时,PHP不会自动解析POST参数

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-11 13:11:43

    你把设置的头删除试试

    回复
    0
  • ringa_lee

    ringa_lee2017-04-11 13:11:43

    看我博客,小程序入门那篇:小撸的博客

    回复
    0
  • PHP中文网

    PHP中文网2017-04-11 13:11:43

    6666成功解决

    回复
    0
  • 取消回复