zoukankan      html  css  js  c++  java
  • 关于AJAX的一些事

     在JQ中运用AJAX的操作是很舒服的一件事,一直以来我对他都有个错误的认识,直到遇见了问题才把他研究个透彻。

    下面贴出两种AJAX的写法,当然都是正确的。

    其一:   

    $.ajax({
    type: 'post',
    url: '/index.php?act=do_login',
    data: {admin_name:nVal,password:pVal},
    success:function(msg){
    // alert(msg);
    if(msg == 0){
    window.location.href = '/order/index.php?act=order_list';
    }else{
    alert(msg);
    }
    }
    })

    #####################################################

    其二

    $.ajax({
    type: 'post',
    url: '/index.php?act=do_login',
    data: 'admin_name='+nVal+'&password='+pVal,
    dataType: 'json',
    success:function(json){
    if(json.error == 0){
    window.location.href = '/order/index.php?act=order_list';
    }else{
    alert(json.data);
    }
    }
    })

    #####################################################

    这两种写法最大的区别在于传值方式,第一种就是很普通的类似POST的传值方式,第二种是用JSON格式传值。但是我觉的并不正确,其实这两种方式 传递给PHP文件的值都是类似POST传值方式,并无区别。区别则在于PHP文件给的返回值。第一种给的返回值只能是字符串,数字类型的,而方式二则可以返回数组形式的数据,当然这个数组必须使用json_encode()函数处理,处理过后就可以直接echo这个数组了(变为json格式)。在PHP中输出的数据便是返回值啦,在方法二中的json.error就是对应的PHP中的用json_encode处理的数组键名为error的值 ($arr['error'])。

    还有一个小区别在于data的不同写法,第一种用的是类似数组形式的(键:值),第二种用的是URL地址栏拼接方式。两种都可以的哦。


    #####################################################

    function sys_msg_json($error,$data = ''){
    $_array = array();
    $_array['data'] = $data;
    $_array['error'] = $error;
    echo json_encode($_array);
    exit;
    }


    #####################################################

    上面就是封装好的专门用来处理AJAX返回值的方法

  • 相关阅读:
    Python正则表达式指南(转)
    二进制文件与文本文件的区分(转)
    Linux上的下载软件uGet
    Ubuntu 12.04安装Google Chrome(转)
    单元测试中的黑盒测试的重要性(转)
    尾递归(转)
    chrome使用技巧(转)
    LRU算法的Python实现
    MySQL单列索引和组合索引的区别介绍(转)
    Python性能优化(转)
  • 原文地址:https://www.cnblogs.com/xionghao/p/6769599.html
Copyright © 2011-2022 走看看