本文目录一览:
- 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