亚洲国产精品成人无码区,公天天吃我奶躁我的比视频,亚洲国产欧美视频亚洲国产精品一区二区成人片不卡,天天躁日日躁狠狠躁视频2021,起视碰看97视频在线少妇久久久久久人妻无码, 芒果乱码一线二线三线新区 ,亚洲熟妇无码AⅤ不卡在线播放,人妻少妇乱子伦无码专区

400-800-9385
網(wǎng)站建設(shè)資訊詳細

PHP網(wǎng)站制作之curl來模擬ajax來發(fā)送數(shù)據(jù)

發(fā)表日期:2021-02-17 22:23:27   作者來源:劉紅旺   瀏覽:2495   標(biāo)簽:PHP網(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ù)流
  function getRawData(){
        $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ù)組
*/
function curlHttp($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ù)組
 * */
function listToArray($data){
    $arr=array();
    foreach($data as $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 返回true or false
 * */
function is_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)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://www.oulysa.com/news/5977.html
相關(guān)網(wǎng)站設(shè)計案例
蜜桃亚洲一级二级在线观看| 97PORM国内自拍视频| 亚洲熟妇无码?V不卡在线播放| 亚洲国产精品自产拍在线播放| 欧美日韩图片一区二区三区| 久久无码人妻一区二区三区午夜| 欧美一区日韩二区亚洲三区在线观看| 欧美巨大另类极品videosbest| 国产AⅤ无码专区久久精品国产| 国产精品成人观看视频免费| 99久久精品免费热37| 蜜臀AⅤ永久无码精品| 日韩一级二级三级| 亚洲中文字幕精品久久久久久直播| 久久综合成人精品亚洲另类欧美| 欧美日韩精品一区二区在线观看| 鲁丝一区二区三区| 免费观看国产不卡的a级片| AV人妻一区二区三区四区| 成在人线AV无码免费高潮水| 午夜精品久久久久久毛片| 久99久热只有精品国产女同| 亚洲欧美日韩久久一区二区| 伊人五月综合大香线蕉| 国产欧美日韩精品?在线观看| 国产精品无码专区在线观看| 日韩加勒比无码人妻系列| 亚洲A∨午夜成人片精品网站| 亚洲第一AAAAA片| 无码人妻AⅤ一区二区三区有奶水| 亚洲中文久久精品无码| 色综合久久综合中文综合网| 国产性色强伦免费视频| 亚洲AⅤ日韩久久久久久| 中文字幕人妻熟在线影院| 欧美 日韩 亚洲 精品 成人| 国产精品健身乱XXX蜜臀AV| 免费日韩中文字幕高清电影视频视频一区二区不卡| 亚洲精品国产精华液怎么样亚洲 | 免费 无码 TV国产变态在线看| 快穿之爱爱做不停H|