• PHP ajax实现数组返回


    首先,我想要实这样一个功能,

    当选择一个下拉框时,让其它三个文本框得到从服务器上返回的值!也就把返回的值,赋给那三个文本框!

    我用的是jquery+php!! 由于我前台,后台,js,数据库采用的都是gb2312编码,所以,走了些弯路!

    js代码:


    $("#logname").change(function(){
            
            if($("#logname").val() != ""){
                $.ajax({
                    url: "ajax.php?ac=kl_tjyj",
                    type:'POST',
                    complete :function(){}, //請求完回調的函數,無論成功與失敗都會調用,在success後
                    dataType: 'json', //會把回傳的字符串自動轉換為json對象!
                    data: {logname: $("#logname").val()},
                    
                    error: function() { alert('Ajax request 發生錯誤');},
                    
                    success: function(response) {
                        
                    $("#yname").attr("value",response.yname);
                    $('#zubie').val(response.zubie);
                    $('#zhiwu').val(response.zhiwu);
                    alert('添加成功!');
        
                    }
               });
                
            }
        });    


    php代码如下:


    if (get("ac") == 'kl_tjyj') {

        if(isset($_POST['logname'])) {
            $queryString = post('logname');
            $queryString = iconv( 'UTF-8', 'gb2312' , $queryString);//解决传递过来的参数为中文乱码

            if(strlen($queryString) >0) {

                $sql = "select jj_truename,zhiwu,zubie from jj_ren where jjrenname='$queryString' limit 0,1";
                $result = $h->sql($sql);
                if(mysql_num_rows($result)) {
                    while($row = mysql_fetch_array($result)){
                        $arr = array ('yname'=>iconv( 'gb2312', 'UTF-8' , $row['jj_truename']),'zubie'=>iconv('gb2312','UTF-8',$row['zubie']),'zhiwu'=>iconv('gb2312','UTF-8',$row['zhiwu']));
                    }
                    echo json_encode($arr);
                } else {
                    echo '<script>alert("没有找到该人的");</script>';
                }
            } else {
                echo '<script>alert("提交的数据不能为空!");</script>';
            } 
        } else {
            echo '';
        }

    }



    附言:


    JSON为何物?我就不重复概念了。通俗的说,它是一种数据的存储格式,就像PHP序列化后的字符串一样。它是一种数据描述。比如我们将一个数组 序列化后存放,就可以很容易的反序列化后应用。JSON也是如此,只不过他搭建的是客户端Javascript和服务端PHP的交互桥梁。我们用PHP生 成JSON后的字符串,然后把这个字符串传给前台Javascript,Javascirpt就可以很容易的将其反JSON然后应用。说通俗点,它真的很 像数组。
    言归正传,如何使用JSON。PHP5.2开始内置了JSON的支持。当然,如果低于这个版本的话,那么市面上有很多PHP版本的实现,随便下一个用就OK啦。现在主要是说说PHP内置支持的JSON。很简单,两个函数:json_encodejson_decode(跟序列化很像啦)。一个编码,一个解码。先看看编码的使用:
    <?php
    $arr = array(
    'name' => '陈毅鑫',
    'nick' => '深空',
    'contact' => array(
    'email' => 'shenkong at qq dot com',
    'website' => 'http://www.chenyixin.com',
    )
    );
    $json_string = json_encode($arr);
    echo $json_string;
    ?>
      很简单的将一个数组JSON了。需要指出的是,在非UTF-8编码下,中文字符将不可被encode,结果会出来空值,所以,如果你使用gb2312编写PHP代码,那么就需要将包含中文的内容使用iconv或者mb转为UTF-8再进行json_encode,
     
     
     
     
     
  • 相关阅读:
    java两个栈实现一个队列&&两个队列实现一个栈
    Java HashSet和ArrayList的查找Contains()时间复杂度
    Java KMP算法代码
    利用集合求取字符串里每个字符的个数
    快速失败and安全失败
    Java 巴什博弈(取石子报数问题)
    [知识点][施工中] 1.1 部分IDE介绍
    [知识点] 4.4 动态规划进阶模型——树形/DAG/数位DP
    [知识点] 4.3 动态规划基础模型——区间DP/LIS/LCS
    [课堂小笔记] 数字电子技术
  • 原文地址:https://www.cnblogs.com/sunxun/p/5218870.html
Copyright © 2020-2023  润新知