『壹』 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='http://serde.com/compadddvd/index';//隨便寫的
$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);
之後就返回數據即可。
『貳』 ajax怎麼獲取返回的json數據
首先要明白ajax的基本格式,參考下面的內容,可以發現,success是請求成功後伺服器返回的數據,接收只需要把回調函數的值處理就可以了,如:
response:即為伺服器返回的數據,例如:{"uid":123,"name":"jghdream"},
如下輸出即可:
....
success:function(response){
console.log(response.uid);
console.log(response.name);
}
.....
以下是ajax的一些參數:
$.ajax({
type:'post',
url:'/testajax.php',
dataType:'json',
data:{uid:uid,rands:Math.random()},
success:function(){
alert('ajaxreturnsuccess');
}});
url,類型:String,默認值: 當前頁地址。發送請求的地址
data,類型:String,發送到伺服器的數據。將自動轉換為請求字元串格式。GET 請求中將附加在 URL 後。查看 processData 選項說明以禁止此自動轉換。必須為 Key/Value 格式。如果為數組,jQuery 將自動為不同值對應同一個名稱。如 {foo:["bar1", "bar2"]} 轉換為 '&foo=bar1&foo=bar2'
dataType,類型:String,預期伺服器返回的數據類型。如果不指定,jQuery 將自動根據 HTTP 包 MIME 信息來智能判斷,比如 XML MIME 類型就被識別為 XML。在 1.4 中,JSON 就會生成一個 javaScript 對象,而 script 則會執行這個腳本。隨後伺服器端返回的數據會根據這個值解析後,傳遞給回調函數。可用值:
"xml": 返回 XML 文檔,可用 jQuery 處理。
"html": 返回純文本 HTML 信息;包含的 script 標簽會在插入 dom 時執行。
"script": 返回純文本 JavaScript 代碼。不會自動緩存結果。除非設置了 "cache" 參數。注意:在遠程請求時(不在同一個域下),所有 POST 請求都將轉為 GET 請求。(因為將使用 DOM 的 script標簽來載入)
"json": 返回 JSON 數據 。
"jsonp": JSONP 格式。使用 JSONP 形式調用函數時,如 "myurl?callback=?" jQuery 將自動替換 ? 為正確的函數名,以執行回調函數。
"text": 返回純文本字元串
success,當請求之後調用。傳入返回後的數據,以及包含成功代碼的字元串。
『叄』 php中$.ajax和$.post的問題
用firebug 看這兩個請求是不是發出去有返回了~~狀態碼是 200嗎?
『肆』 JS 用AJAX用POST 傳到PHP後台的JSON字元串為什麼會成為一個對象
首先你要明白JSON是什麼,JavaScript
Object
Notation,意思是JavaScript對象表示法,它是一種基於文本,獨立於語言的輕量級數據交換格式。說白了它就是一段字元串,由於並沒有附加額外的標記,JS也可以直接作為對象處理,所以常用於數據交換。
具體內容,我建議你看一下視頻,後盾人就不錯,你可以去看一看
『伍』 php ajax post如何處理多個返回信息
$.post是提供簡單的封裝的ajax post請求的方法,沒辦法進行更詳細的配置。改為使用$.ajax把,裡面有一個參數可以配置超時時間如$.ajax({url:"xxx.php",type:"POST",dataType:"json",timeout:60000, //超時時間,現在設置為60s。success:function(data){ console.log(data);}});更詳細的配置可以查看jQuery的API文檔。另外需要你的伺服器端配置的超時時間不能小於jQuery裡面配置的。要不然jQuery還沒有超時,伺服器端直接返回timeout了。同時優化一下服務端的處理,提高相應速度也是一個不錯的選擇。
『陸』 在PHP中怎麼接收post過來的JSON數據
var allUnivList = [{
"id": 1,
"univs": [{
"id": 1001,
"name": "清華大學"
},
{
"id": 1002,
"name": "北京大學"
}],
"country_id": 0,
"name": "北京"
}]
//比如你傳遞的是上面這個JSON格式,在PHP端,舉個用JQ提交的例子:
$.ajax({
url: "test.php",
type: "post",
data: { allcity: allUnivList},
success: function (data) {
alert(data);
},
error: function () {
alert("系統異常!");
}
});
『柒』 PHP怎麼接收jQuery的Ajax post過來的值
1、首先安裝配置php集成環境。以phpstudy為例。
『捌』 JS 用AJAX用POST 傳到PHP後台的JSON字元串為什麼會成為一個對象
ajax可以寫在Store中,也可以寫在Action中。之前使用reflux的時候是把ajax寫在Store中,造成Store既要操作數據又要請求數據,整體有些龐大復雜。後來使用Rex之後,把ajax轉移到Action中,數據請求成功後調用dispatch,Store只管接收新的數據。這樣職責都變得單一明了:Store的職責是操作已有數據,Action的職責是發送有效載荷給Store。
『玖』 javascript用ajax向PHP傳json格式數據,在PHP文件中應該怎樣接
你傳送之前
alert(json.key)
看一下有沒有變為正確json數據。
也可以這樣
for(var
i
in
json){
alert(i+":"+json[i]);
}
『拾』 ajax傳值php頁面接收處理為json 有值 但返回為null 求解
首先://dataType:"json",為何注釋掉,
其次,返回來的是對象,alert出來 可能顯示[object],此表示有值,
可用 data.key取出值key表示$rs數組鍵名
第三,若dataType:"json" 後返回的仍然是null,則說明你可能正在使用跨域請求
跨域請求請用AJAX的JSONP方式,請改為如下
JS:
$.ajax({
url:"__URL__/liandong",
dataType:'jsonp',
data:'callback=jsoncallback&aid='+aid,
jsonp:'jsoncallback',
timeout:3000
});
//回調函數
function jsoncallback(json){
alert(json.key);//key表示$rs數組鍵名
}
php:
return $_POST['callback']."(". json_encode($rs).")";