zoukankan      html  css  js  c++  java
  • js点击事件,js读取字符串json相关知识点

    1.js点击触发函数:

    <a onclick="deleteImage(10)"><font color="red">删除</font></a> 

    <script>

    function deleteImage(num){
    alert(num);
    }

    </script> 

    简单说明:在写前端页面的时候时不时的需要写些点击触发的函数,总是忘了具体怎么实现的,这次记录下来,以后忘了,就跑自己园子里来看。

     

    2.json字符串格式装换成对象

    在客户端与服务器端进行AJAX交互的过程中,json是一种很方便的批量传输数据的格式,因此在服务器端/客户端读写json就显得很重要。php服务器端一般用json_encode($data)来将数据转换为json格式;

    浏览器端接收到参数后一般使用如下方法将字符串转换为对象:

    function readJson(data){
    var obj=eval("("+data+")");
    return obj;
    }

     然后再通过obj.upid,obj.name等来获取json数据下面通过实力来说明:

    浏览器端程序:

    <script type="text/javascript">
    $(document).ready(function(){
    $(".btn-warning").click(function(){
    $.ajax({
    type:"post",
    url:"<?php echo Yii::app()->getBaseUrl();?>"+"/test/ajaxjson",
    data:{name:"tom",age:13},
    success:function(msg){//接受的msg为字符串类型
    console.log(msg);
    json=eval("("+msg+")");//将字符串类型转化为对象类型
    console.log(json);
    for(var o in json){//循环方式
    console.log(json[o].name);
    $(".nav-list").append('<li><a href="#"><i class="icon-book"></i>'+json[o].name+'</a></li>');
    }
    }
    });
    });
    });
    </script>

     php端程序:

    public function actionAjaxjson(){
    $data=array(1=>array('name'=>'苹果'),2=>array('name'=>'香蕉'),3=>array('name'=>'梨'));
    foreach($data as $k=>$value){
    $data[$k]=array('name'=>urlencode($value['name']));
    }
    echo urldecode(json_encode($data));
    die;
    }

     需要注意的是在处理中文字符串时json格式的数据会经常遇到乱码,网上解决的办法很多,这里提供一种方法。就是将中文字符串通过urlencode编码,之后再用urldecode解码即可。

    3.其它,

    这几天主要写文件上传,用到了swf插件实现类似于无刷新上传附件,期间包括json这块儿出了写问题,后来过了大约半小时左右就自己好了。初步推断应该是浏览器缓存的原因,所以有些莫名其妙的错误网上找半天也没找到原因,没准就是缓存的原因,自己前端时间学习java几个ssh的时候也是这样。 

  • 相关阅读:
    php 记录 一些函数语句
    css hack 笔记 for ie8,ie7
    ubuntu 常用 apt更新命令
    JS iframe 跨域
    xdebug配置注意事项
    (matlab)plot画图的颜色线型
    关于iframe中的js跨站
    201202编程笔记
    各种语言中的unix timestamp
    php xml 摘抄
  • 原文地址:https://www.cnblogs.com/php321/p/3288708.html
Copyright © 2011-2022 走看看