本文目錄一覽:
- 1、php如何發送和接收JSON數據
- 2、如何用php給一個php頁面發送大量數據,格式是json數據,裡面有許多行
- 3、PHP如何通過Post請求發送Json數據
- 4、如何向php伺服器發送數據為json的post請求
- 5、javascript用ajax向PHP傳json格式數據,在PHP文件中應該怎樣接?
php如何發送和接收JSON數據
對於json,PHP有對應的方法進行操作。
一般而言,json會以字元串形式傳給PHP腳本,一般都是放在$_POST裡面,
14
?php
// 接收
$json_parameter = $_POST[‘json_str’];
// 處理, 變成數組
$array = json_decode($json_parameter);
// PHP 把數組數據變成json格式字元串,發給頁面
$demo = array(
‘key’ = ‘value’,
‘key2’ = ‘value2’
);
$demo_json = json_encode($demo); // 格式是{“key”:”value”,”key2″:”value2″}
echo $demo_json;
如何用php給一個php頁面發送大量數據,格式是json數據,裡面有許多行
//採集的信息需要先登錄的就要先模擬登錄
//設置cookie保存路徑
$ch = curl_init();
//組裝用戶名和密碼
$info[‘username’] = $this-username;
$info[‘password’] = $this-pwd;
//模擬表單提交
$params[CURLOPT_URL] = $this-url; //請求url地址
$params[CURLOPT_HEADER] = true; //是否返迴響應頭信息
$params[CURLOPT_RETURNTRANSFER] = true; //是否將結果返回
$params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向
// $params[CURLOPT_SSL_VERIFYPEER] = true; // https請求 不驗證證書和hosts
// $params[CURLOPT_SSL_VERIFYHOST] = true; // https請求 不驗證證書和hosts
$params[CURLOPT_USERAGENT] = ‘Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1’;
$postfields = ”;
//將表單要提交的數據編程URL拼接方式
foreach ($info as $key = $value){
$postfields .= urlencode($key) . ‘=’ . urlencode($value) . ”;
}
$params[CURLOPT_POST] = true;
$params[CURLOPT_POSTFIELDS] = $postfields;
//判斷是否有cookie,有的話直接使用
/*
if (isset($_COOKIE[‘cookie_jar’])($_COOKIE[‘cookie_jar’]||is_file($_COOKIE[‘cookie_jar’]))){
$params[CURLOPT_COOKIEFILE] = $_COOKIE[‘cookie_jar’]; //這裡判斷cookie
}else{
$cookie_jar = tempnam($this-cookie_path, ‘cookie’); //產生一個cookie文件
$params[CURLOPT_COOKIEJAR] = $cookie_jar; //寫入cookie信息
setcookie(‘cookie_jar’, $cookie_jar); //保存cookie路徑
}
*/
curl_setopt_array($ch, $params); //傳入curl參數
$content = curl_exec($ch); //執行
PHP如何通過Post請求發送Json數據
首先要把數據轉換成json格式,再通過curl方法調用介面並傳參數
代碼如下:
$keyword = urlencode($_POST[‘keyword’]);
$parameters = json_encode(array(‘keyWord’=$keyword,’areaCode’=’*’));
$post_data[‘appToken’] = “323ds7674354fds32fdsda60173”;//隨便寫的
$post_data[‘parameters’] = $parameters;
$url = ”;//隨便寫的
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);//用post方法傳送參數
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
之後就返回數據即可。
如何向php伺服器發送數據為json的post請求
用curl
$ch = curl_init();
$header[] = “Content-type: text/xml”;//定義content-type為xml
curl_setopt($ch, CURLOPT_URL, $url); //定義表單提交地址
curl_setopt($ch, CURLOPT_POST, 1); //定義提交類型 1:POST ;0:GET
curl_setopt($ch, CURLOPT_HEADER, 1); //定義是否顯示狀態頭 1:顯示 ; 0:不顯示
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//定義請求類型
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//定義是否直接輸出返迴流
curl_setopt($ch, CURLOPT_POSTFIELDS, $postStr); //定義提交的數據,這裡是XML文件
$res = curl_exec($ch);
curl_close($ch);//關閉
javascript用ajax向PHP傳json格式數據,在PHP文件中應該怎樣接?
你傳送之前
alert(json.key)
看一下有沒有變為正確json數據。
也可以這樣
for(var
i
in
json){
alert(i+”:”+json[i]);
}
原創文章,作者:EEOG,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/142721.html