<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • PHP網(wǎng)站制作之curl來模擬ajax來發(fā)送數(shù)據(jù)

            2023-02-20    分類: 網(wǎng)站制作

            ajax不管是post還是get傳遞數(shù)據(jù)的時候是什么樣的形式傳遞數(shù)據(jù)呢?
            如果我們用curl來模擬ajax來發(fā)送數(shù)據(jù)時候,我們構(gòu)造的$data應(yīng)該是怎樣才是標(biāo)準(zhǔn)的呢?
            1、首先最容易想到的是數(shù)組結(jié)果如$data=array('a'=>1,'b'=>2);
            2、還會想到j(luò)son數(shù)據(jù)格式如$data=json_encode(array('a'=>1,'b'=>2));
            這上面的兩個方式在接收端作了限制后都是不正確的。(大多數(shù)數(shù)據(jù)接口的方式);
            標(biāo)準(zhǔn)的傳遞數(shù)據(jù)格式是:a=1&b=2
            1.接收數(shù)據(jù)流
            functiongetRawData(){
            $put=array();
            parse_str(file_get_contents('php://input'),$put);
            return$put;
            }
            //實用函數(shù)
            /*獲取與發(fā)送數(shù)據(jù)
            *$url獲取路地址
            *$postData傳遞數(shù)據(jù)數(shù)組形式
            *$isDebug是否調(diào)試打印發(fā)送地址和發(fā)送數(shù)組
            *return返回如果是字符則是字串,json格式則返回數(shù)組
            */
            functioncurlHttp($url,$postData,$isDebug=false){
            $url=strstr($url,'http:')?$url:C('HTTPURL').$url;
            if($isDebug){dump($url);dump($postData);}//調(diào)試則輸出發(fā)送的地址和發(fā)送的數(shù)據(jù)串
            $ch=curl_init();//初始化
            //$header=array('Expect:');
            curl_setopt($ch,CURLOPT_URL,$url);
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//將curl_exec()獲取的信息以文件流的形式返回,而不是直接輸出。
            curl_setopt($ch,CURLOPT_HEADER,0);//是否取得頭信息
            curl_setopt($ch,CURLOPT_POST,true);//post提交方式
            curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($postData));//http_build_query自動構(gòu)造url發(fā)送信息
            curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,20);//20秒連接超時
            //curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
            $data=curl_exec($ch);
            $toArray=json_decode($data,true);
            if(is_array($toArray)){
            $data=listToArray($toArray);
            }
            return$data;
            }
            /*對curlHttp返回的list一維數(shù)組的如果含json串轉(zhuǎn)為深度轉(zhuǎn)換數(shù)組
            *$data一維數(shù)組,鍵值含有json字符串
            *return返回一個標(biāo)準(zhǔn)的數(shù)組
            **/
            functionlistToArray($data){
            $arr=array();
            foreach($dataas$k=>$v){
            if(is_json($v)){
            $arr[$k]=listToArray(json_decode($v,true));
            }elseif(is_array($v)){
            $arr[$k]=listToArray($v);
            }else{
            $arr[$k]=$v;
            }
            }
            return$arr;
            }
            /*判斷數(shù)據(jù)是否為json數(shù)據(jù)備注:json_decode對于數(shù)組和數(shù)字也會判定為json數(shù)據(jù)需要加上{的判定
            *$string字符串
            *return返回trueorfalse
            **/
            functionis_json($string){
            $isjsonf=json_decode($string);
            $isjsont=strstr($string,'{');
            return($isjsonf&&$isjsont)?true:false;
            }
            前端ajax獲取數(shù)據(jù)

            代碼

            <script>
            $.ajax({
            url:"api接口地址",
            type:'POST',//參數(shù)方式
            dataType:"json",//數(shù)據(jù)類型
            data:{"action":1,"OrderID":"112-2316089-0269002","MD5Key":"55E9D105D116DBEC3E8285EB0F5C6404"'},
            success:function(val){
            console.log(val);
            },error:function(){
            alert('error');
            }
            })

            網(wǎng)頁標(biāo)題:PHP網(wǎng)站制作之curl來模擬ajax來發(fā)送數(shù)據(jù)
            分享網(wǎng)址:http://www.jbt999.com/news21/238421.html

            網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營銷seo公司;服務(wù)項目有網(wǎng)站制作

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

            成都網(wǎng)頁設(shè)計公司

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 日日撸日日干 | 最新版中文官网资源 | 免费成人黄色电影网站 | 国产三级网站在线观看 | 国产美女被草 |