本文目錄一覽:
- 1、ajax 怎麼處理php返回json數據
- 2、客戶端如何寫一個ajax請求,來讀取php傳遞出的json數據(為浮點型)?然後可以與文本框輸入的數據比較?
- 3、php如何實現下拉框選中搜索功能
- 4、php函數輸出ajax列表框
- 5、下拉框設置用 ajax提交 並以 json數據格式返回這種做法
- 6、PHP是怎麼返回json格式的數據
ajax 怎麼處理php返回json數據
用json_encode()函數對數組進行JSON編碼。
?php
$arr = array (‘a’=1,’b’=2,’c’=3,’d’=4,’e’=5);
echojson_encode($arr);
?
以上例程會輸出:
{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5}[1]
當有中文字符時,當直接使用json_encode() 函數會使漢字不能正常顯示。 所以有了這個適用性比較廣的函數 ch_json_encode() 來解決這個問題。
客戶端如何寫一個ajax請求,來讀取php傳遞出的json數據(為浮點型)?然後可以與文本框輸入的數據比較?
在服務器將數據轉換為JOSN格式
由於數據庫儲存的數據(一般情況下)是不變的,將返回的結果儲存到數組中(用定時器太燒性能)
server.php服務端:
//將數據庫獲取的數據轉換為Json格式並返回前端
$json = array(); //先定義一個空數組來存儲。
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
array_push($json, array(“id” = $row[‘id’], “name” = $row[‘name’])); //其他數據自己補充
}
echo json_encode(array(“json” = $json));
前端:
$(document).ready(function(){
$.getJSON(“”, function(data){
var array = data.json.slice(); //數據克隆
});
});
比較輸入大小,用循環跟數組比較。
全棧之路不好走
php如何實現下拉框選中搜索功能
這種功能主要屬於前端范籌,和php關聯不大。
思路是用js實現,綁定選擇框的change事件,然後ajax獲取第二個選擇框的列表。
當第二個選擇框觸發change事件,就ajax加載列表,把相關的參數傳到後端,獲取數據後再輸出到頁面。
推薦使用jQuery庫,它的html處理,和ajax都很方便新人上手。
關鍵點:後端需要配合輸出json格式數據,方便解析.
如:
$subcates=[
[‘id’=1,’name’=’aaa’],
[‘id’=2,’name’=’bbb’],
];
echo json_encode([ ‘code’=1,’result’=$subcate ],JSON_UNESCAPED_UNICODE);
前端jQuery獲取數據
$.ajax({
url:’getsubcate.php?bigcate=1′,
dataType:’JSON’,
success:function(json){
console.log(json.result);
//此處將result數組拼接成html放入第二個選擇框
}
});
獲取列表的操作類似。
另外,如果對這種動態頁面感興趣的話,可以學習下Vue或React 這些前端框架。只需專註數據,不需要處理html.
php函數輸出ajax列表框
check(){
var myphone = $(“#myphone”).val();//手機1
var friendphone = $(“#friendphone”).val();//手機2
$.ajax({//一個Ajax過程
type: “POST”, //以post方式與後台溝通
url : “ajax.php”,//與此php頁面溝通
dataType:’json’,//從php返回的值以 JSON方式 解釋
data: ‘myphone=’+myphone+’friendphone=’+friendphone,
cache:false,
success: function(msg){//如果調用php成功,注意msg是返回的對象,這個你可以自定義
if(msg.ajaxmyphone==”){//ajaxmyphone就是數組的一個鍵值
alert(‘手機1不存在!’);
return false;
}
if(msg.ajaxyouphone==”){//另外一個鍵值
alert(‘手機2不存在!’);
return false;
}
}
});
}
/script
PHP部分
首先你要把你返回的值壓製成數組 例如
echo json_encode(array(‘ajaxmyphone’=$ajaxmy,’id’=$id));
注意 json_encode 這個函數是專門把返回的數組編碼,否者返回的值,Ajax就不能得到值
忘我的回答能採納
下拉框設置用 ajax提交 並以 json數據格式返回這種做法
前台代碼:
select name=”fpzl” id=”fpzl” onchange=”getName(this.value)”
function getName(value)
{
$.ajax({
type: ‘post’,
url: “servlet”,// 訪問路徑
data:{name:value},//傳下拉框的值,後台去查詢
cache: false,
dataType: ‘json’,
error:function(){
alert(“網絡訪問失敗”);
},
success: function(data){//data就是返回的json數據
$(“#name”).val(data.name); // 返回對應的鍵值
}
});
}
後台代碼:
Map map =new HashMap();
map.put(“name”,”值”);
response.setContentType(“text/html”);
PrintWriter out = response.getWriter();
JSONArray json= JSONArray.fromObject(map);
out.write(json);
out.flush();
out.close();
需要的一些jar包,實例
PHP是怎麼返回json格式的數據
1、php 輸出JSON格式,使用json_encode函數即可
2、示例:
?php
header(‘Content-type: text/json’);
$fruits = array (
“fruits” = array(“a” = “orange”, “b” = “banana”, “c” = “apple”),
“numbers” = array(1, 2, 3, 4, 5, 6),
“holes” = array(“first”, 5 = “second”, “third”)
);
echo json_encode($fruits);
?
示例得到結果:
{“fruits”:{“a”:”orange
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/244522.html