少于 1 分钟阅读

jQuery方法

使用ajax函数生成一个请求、填充参数后发送

    $.ajax({
        url:url,
        type:"POST",
        data:data,
        contentType:"application/json; charset=utf-8",
        dataType:"json",
        success: function(){
            //TODO: Add a php function
        }
    })

PHP Curl方法

使用curl_setopt方法来设定好curl对象需要传递的参数,然后直接执行curl对象,详细讲解参见curl_setopt文档

    $data = array("name" => "Hagrid", "age" => "36");                                                                      
    $data_string = json_encode($data);       
    $ch = curl_init('http://api.local/rest/users');        
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                            
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(                   
        'Content-Type: application/json',  
        'Content-Length: ' . strlen($data_string))           
    );                                                                                                                     
    $result = curl_exec($ch);  

常见写法

function CallAPI($method, $url, $data = false)
{
    $curl = curl_init();
    switch ($method)
    {
        case "POST":
            curl_setopt($curl, CURLOPT_POST, 1);
            if ($data)
                curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
            break;
        case "PUT":
            curl_setopt($curl, CURLOPT_PUT, 1);
            break;
        default:
            if ($data)
                $url = sprintf("%s?%s", $url, http_build_query($data));
    }

    // Optional Authentication:
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array( /*设置请求头*/               
        'Content-Type: application/json',  
        'Content-Length: ' . strlen($data))           
    );

    $result = curl_exec($curl);
    AddMessage2Log(print_r($result,true));
    curl_close($curl);
    return $result;
}   

标签:

分类:

更新时间: