• ajax编写购物车遇到的问题


    使用超全局变量$_SESSION[]

    1.在文件开始时开启:session_start();

    2.$_SESSION[]输出结果是数组

    3.$_SESSION[]存在缓存中,清理缓存会清除数据

    4.可以用来存放常用变量,获取方式为$_SESSION[“键名”]

    验证登录

    用$_SESSION[]判断登录传过来的值是否为空,如果空则调回登录页面

    <?php
        session_start();
        if($_SESSION["uid"] ==""){
            header("location:login.php");
        }
    ?>

    当调用多次相同的方法时,可以将方法封装,以后调用文件即可

    js常用格式

    页面初始化

    window.onload = function(){
        //初始化页面
        initHTML();
    }

    function initHTML(){
        //创建对象
        var xhr=new XMLHttpRequest();
        //发起请求
        xhr.onreadystatechange =function(){
            if(xhr.readyState==4){
                var str = xhr.responseText;
                var arr=str.split("@");

    //将ajax传过来的值赋给方法
                table(arr[1]);
                p(arr[0]);
                
            }
        }
        xhr.open("post","php/index_php.php");
        xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
        //发送数据
        xhr.send("type=init");
    }

    问题:post传值后台接受空值

    1.漏写头文件

     xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');

    2.传值的变量没有正确的获取到(检查获取变量获取方式)

    3.后台接受方式出错(以post传值用get接受)

    常用方法

    1.php数组转字符串

    将二维数组转换成字符串

    session_start();
        $arr=$_SESSION["data"];
        if(empty($arr)){
            echo "";
        }else{
            foreach($arr as $k=>$v){
                $attr[]=join(",",$v);
            }
            echo join("^",$attr);
        }

    2.js将字符串转换成二维数组

    function strToArr(str,fg1,fg2){
        //将字符串转成二维数组
        var temp = str.split(fg1),
            arr = [];
        
        for(var i = 0; i<temp.length;i++){
            arr[i] = temp[i].split(fg2);
        }
        //返回二维数组
        return arr;
    }

    注:

    var dianji=prompt("输入购买数量");

    prompt自带返回值,可以直接用

    array_splice($arr,$k,1);

    销毁数组中从第k个下标开始数1个的元素

    字符串拼接技巧

    先用“”分割前面的字符串,然后加 ++

    例: “name   变量  age  变量”

    “name   “+变量 +”     age    “+变量

    当一个页面需要处理多个ajax时

    传一个自定义属性,区分每个传过来的ajax

  • 相关阅读:
    权当这是开始吧
    rabbitmq实现一台服务器同时给指定部分的consumer发送消息(tp框架)(第六篇)
    部分替换mysql表中某列的字段
    rabbitmq实现一台服务器同时给指定部分的consumer发送消息(tp框架)(第五篇)
    rabbitmq实现一台服务器同时给所有的consumer发送消息(tp框架)(第四篇)
    rabbit服务器挂掉以后,保证队列消息还存在(tp框架)(第三篇)
    HDU 1114 Piggy-Bank (poj1384)
    01背包
    等价表达式(noip2005)
    机器翻译(noip2010)
  • 原文地址:https://www.cnblogs.com/diverman/p/8485920.html
Copyright © 2020-2023  润新知