php使用ajax无刷新从接口获取数据更新填充表单

  • 2017-05-17 16:40:37
  • 开发
  • 32
  • shevechco

这几天再写一个网站的数据抓取功能,改好了将一部分记录下,使用的thinkphp框架写的,直接上干货代码参考

在Index控制内添加一个获取数据的方法(这里仅做参考,直接将获取的数据写成数组,中间过程省略......):

01.
public function dbinfo(){
02.
    $data = array("name","pass");
03.
    $dbinfo = json_encode($data);
04.
    echo $dbinfo;
05.
}

模版内容如下:

01.
<form>
02.
<input type="button" id="btn" value="获取" /><br />
03.
<input type="text" id="title" name="name" value="" /><br />
04.
</form>
05.
<script type="text/javascript">
06.
$(function(){
07.
    $("#btn").click(function(){
08.
    $.get("{:U('Index/dbinfo')}",
09.
    function(data){
10.
        //alert(data);
11.
        var arr = eval(data);
12.
        //alert(arr[0]);
13.
        $("#title").val(arr[0]);
14.
    });
15.
});
16.
});
17.
</script>

写的很简单,没有带参数,如果需要带参数在$.get的括号内写上,例如&catid=1&id=1,就在提交的地址后面加上,“, { catid:1 , id:1}”

js代码就改为:

01.
<script type="text/javascript">
02.
$(function(){
03.
    $("#btn").click(function(){
04.
    $.get("{:U('Index/dbinfo')}", { catid:1 , id:1},
05.
    function(data){
06.
        //alert(data);
07.
        var arr = eval(data);
08.
        //alert(arr[0]);
09.
        $("#title").val(arr[0]);
10.
    });
11.
});
12.
});
13.
</script>

从控制器上返回接口json数据不要用return而是需要使用echo,js方法下的返回data数据需要使用eval方法把数据转换为js的数组。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.sulao.cn/post/371

相关推荐