问一下,android为前端,php为后端的问题
天蓬老师
天蓬老师 2017-05-16 13:07:19
0
6
597

就是http协议的问题,本人是做后端的,现在和android程序员发现了一个问题,就是他说是已POST请求发送数据,但是我php要已json的数据类型去接收数据,但是我在网上看到的人很多都是$_POST[] 这样获取数据,
问题
1.真的要php已json的数据类型去接收数据 那么php的代码改怎么写
2.他们android是不是有办法Post请求发送数据是否可以加name 。就像我们web网站一样,有个name。

已用户名 username
密码 userpass 为例子 大家帮帮忙。谢谢

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

membalas semua(6)
巴扎黑

php menerima data pos, biasanya $_POST boleh digunakan, jika tidak, gunakan file_get_contents("php://input");

Data yang dia minta adalah dalam format json Sangat mudah untuk memprosesnya dengan PHP Anda hanya perlu menggunakan json_decode() untuk menghuraikannya dan ia akan menjadi tatasusunan dalam PHP.
Pembolehubah seperti nama pengguna dan kata laluan boleh dibungkus dalam json.

phpcn_u1582

1. Adalah disyorkan untuk menggunakan kod berikut

$c = file_get_contents('php://input');  //解析获取的二进制流 获取的数据格式是json
$j = json_decode($c, true); //解析json数据,加第二个参数true 是数组 不然是对象
2. Mesti boleh tambah

淡淡烟草味

Gunakan $_POST untuk data biasa, gunakan file_get_contents('php://input') untuk XML dan seumpamanya
Jangan gunakan $GLOBALS["HTTP_RAW_POST_DATA"], ia sudah lapuk dalam 7.0.

为情所困

bersamaan dengan mentah

Ty80

Masalah ini mudah diselesaikan Pertama sekali, terdapat dua cara untuk lulus parameter permintaan pos:

  1. serahan borang borang

  2. Serahkan dalam format json

Bahagian belakang dan bahagian Android hanya perlu membincangkan cara untuk menerima data Ia tidak rumit seperti yang penulis katakan

我想大声告诉你

Apakah rangka kerja yang digunakan oleh pengarang Jika anda menggunakan laravel atau lumen, sambungkan terus Request::getContent(), dan kemudian json_decode(). Jika anda ingin melaksanakannya sendiri, anda boleh rujuk kaedah pelaksanaan laravel:

public function getContent($asResource = false)
    {
        $currentContentIsResource = is_resource($this->content);
        if (PHP_VERSION_ID < 50600 && false === $this->content) {
            throw new \LogicException('getContent() can only be called once when using the resource return type and PHP below 5.6.');
        }

        if (true === $asResource) {
            if ($currentContentIsResource) {
                rewind($this->content);

                return $this->content;
            }

            // Content passed in parameter (test)
            if (is_string($this->content)) {
                $resource = fopen('php://temp', 'r+');
                fwrite($resource, $this->content);
                rewind($resource);

                return $resource;
            }

            $this->content = false;

            return fopen('php://input', 'rb');
        }

        if ($currentContentIsResource) {
            rewind($this->content);

            return stream_get_contents($this->content);
        }

        if (null === $this->content || false === $this->content) {
            $this->content = file_get_contents('php://input');
        }

        return $this->content;
    }
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!