php json ajax 交互示例

php 端利用 json_encode 对数组进行 编码,注意有汉字的要转化成UTF-8格式的。

利用iconv ,如果GBK中有UTF-8中没有的字符可能利用  iconv ("UTF-8","GBK//ignore",$str);  利用ingore 将字符进行忽略掉。


function doPage(page,content,id){

    
    if(content=='history'){  //显示站点团购记录
         $.ajax({
            type:'get',
            url:'?m=Default&a=historyInfo&page='+page+'&api_id='+id,
            dataType:'json',
            success:function(data){
                try{
               json_data=eval("("+data+")");   //此处可以eval 或者不用 视情况而定
              // alert(json_data[0]);
                comm_html=json_data[0];
                page_total=json_data[1];
                page_num=json_data[2];
                current=json_data[3];
                html='';
                for(i=0;i<comm_html.length;i++){
                    html+='<div class="listuan"> <div class="s_b1"><span class="dat">'+comm_html[i]['startTime']+'</span><span class="dnum">'+comm_html[i]['startDay']+'</span></div><dl class="s_b2"><dd><a href="?m=Default&a=jumpurl&infoid='+comm_html[i]['id']+'&url='+encodeURIComponent(comm_html[i]['loc'])+'" target="_blank"><img src='+comm_html[i]['image']+' width="110" height="74" /></a></dd><dt><p>【<a href="javascript:void(0);">'+comm_html[i]['website']+'</a>】<a href="/show_'+comm_html[i]['id']+'.html" target="_blank;">'+comm_html[i]['title']+'</a></p><p class="p2">现价:<span class="col4">¥'+comm_html[i]['price']+'</span>&nbsp;&nbsp;&nbsp;&nbsp;<s>原价:¥'+comm_html[i]['value']+'</s></p></dt></dl><div class="s_b3 lispd">'+comm_html[i]['status']+'</div><div class="s_b4 lispd"><a href="?m=Default&a=jumpurl&infoid='+comm_html[i]['id']+'&url='+encodeURIComponent(comm_html[i]['loc'])+'" target="_blank">去购买</a></div></div>';
                }
                //alert(html);
                $("#history_html").html(html);
                page_html=getPages(content,page_total,page_num,current,id);//显示分页
                //alert(page_html);
                $("#hisPageUl").html(page_html);
                }catch(e){}
            }
         
         });
    }else if(content=='sitecomment'){ //显示站点评论
        $.ajax({
            type:'get',
            url:'?m=Default&a=siteComm&page='+page+'&id='+id,
            dataType:'json',
            success:function(data){
                try{
                json_data=eval("("+data+")");
                content_html=json_data[0];
                page_total=json_data[1];
                page_num=json_data[2];
                current=json_data[3];
                comm_html='';
                for(i=0;i<content_html.length;i++){
                    if(typeof(comm_html[i])=='undefined') continue;
                    comm_html+='<dl class="p_dl"><dd> <a href="http://bbs.bj100.com/u.php?uid='+comm_html[i]['Uid']+'"><img src="http://bbs.bj100.com/jingtime.face.php?uid='+comm_html[i]['Uid']+'" width="55" height="55" /></a> </dd><dt>  <p class="p_txt"> <a href="#"><span class="col1">#'+comm_html[i]['username']+'</span></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="col2">'+comm_html[i]['Create_time']+'</span> </p>  <p class="p_txt">团购质量:<img src="default_images/xin2.jpg" align="absmiddle"/></p>  <p class="p_txt"><span class="col3">'+comm_html[i]['content']+'</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span></span><a href="#"><img src="default_images/xin3.jpg" align="absmiddle"/></a><span class="col4">(0)</span></p></dt></dl>';
                }
                //alert(comm_html);
                $("#com_num").html(page_total);
                //alert(comm_html);
                $("#comm_html").html(comm_html);
                page_html=getPages(content,page_total,page_num,current,id);//显示分页
                //alert(page_html);
                $("#commPageUl").html(page_html);
                }catch(e){}
            }
         
         });
    }else if(content=='infocomment'){  //显示产品评论
    
    }else if(content=='addinfocomment'){ //增加产品的评论
    
    }
}
//分页显示
function getPages(content,total_page,page_num,page,id){
    page_html='';
    if(total_page>0){
        if((page-1)>0){
            page_html+='<li><a href="javascript:doPage(1,\''+content+'\','+id+')">首页</a></li>';
            page_html+='<li><a href="javascript:doPage('+(page-1)+',\''+content+'\','+id+')">前一页</a></li>';
        }
        rollPage=5; //每页显示的页数
        nowpage=Math.ceil(page/rollPage);
        for(i=1;i<=rollPage;i++){
            p=(nowpage-1)*rollPage+i;
            if(p>total_page) break;
            if(page==p){
                class_name="class=current";
                page_html+='<li '+class_name+'>'+p+'</li>';
            }else{
                class_name="";
                page_html+='<li><a href="javascript:doPage('+p+',\''+content+'\','+id+')">'+p+'</a></li>';
            }
        }
        page_html+='<li><a href="javascript:doPage('+(page+1)+',\''+content+'\','+id+')">下一页</a></li>';
        page_html+='<li><a href="javascript:doPage('+total_page+',\''+content+'\','+id+')">末页</a></li>';
        
    }
    return page_html;

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
利用jquery的ajax方法可以进行前后端的交互。以下是一个使用JSON进行数据传输的示例: 前端代码: ```javascript // 定义要发送的数据 var data = { name: '张三', age: 20, gender: '男' }; // 将数据对象转为JSON字符串 var jsonData = JSON.stringify(data); $.ajax({ url: 'backend.php', // 后端接口地址 type: 'POST', // 请求方法为POST data: { jsonData: jsonData // 向后端传递JSON数据 }, dataType: 'json', // 预期接收的数据类型为JSON success: function(response) { // 请求成功后的处理逻辑 console.log('后端返回的结果为:', response); }, error: function(xhr, status, error) { // 请求失败后的处理逻辑 console.log('请求失败', error); } }); ``` 后端代码(使用PHP语言作为示例): ```php // 接收前端传递的JSON数据 $jsonData = $_POST['jsonData']; // 将JSON字符串转换为PHP对象 $data = json_decode($jsonData); // 在后端进行对传递的数据的处理 $name = $data->name; $age = $data->age; $gender = $data->gender; // 构造要返回给前端的JSON数据 $response = array( 'result' => 'success', 'message' => '数据接收成功', 'name' => $name, 'age' => $age, 'gender' => $gender ); // 将数据转为JSON字符串 $jsonResponse = json_encode($response); // 返回JSON响应 header('Content-type: application/json'); echo $jsonResponse; ``` 以上就是一个使用jquery的ajax方法进行前后端交互,并通过JSON传递数据的示例。前端通过ajax发送JSON数据到后端,后端接收后进行处理后再返回一个JSON响应给前端。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值