说明

下面这个例子是之前用php做仿SSO统一登录系统时写的。主要用来解决可直接使用用户名及密码post/get提交就完成登录的需求,当然也做了防autho授权登录和直接使用appkey对接登录的方式。下面的代码主要用于备忘

// 使用常规表单方式 进行get/post提交, 方便用于提交后直接可以登录目标网站的形式
//ajax使用contentType:'application/json'方式提交因为是异步的,只能获取返回值
//根据返回json,判断是否存在指定key键值
<form action='post.php' name='form1' id ='form1' method='get'>
<input name='user' value='admin'>
<input name='pwd' value='123456'>
<input type="hidden" id="model" value="2">id=model用于控制是否提交json格式数据
<input type='button' onclick='sub();' value='登录系统'>
</from>
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script>
function sub(){
            var mo = document.getElementById(\'model\').value;
            if(mo != 1){
            document.form1.submit();
            }else{
            //读取表单数据并数组化---最终转换为json字符串
               var formArray = $("#form1").serializeArray();
               var dataArray = {};
               $.each(formArray,function(){
                 if(dataArray[this.name]){
                   if(!dataArray[this.name].push){
                     dataArray[this.name] = [dataArray[this.name]];
                   }
                   dataArray[this.name].push(this.value || \'\');
                 }else{
                   dataArray[this.name] = this.value || \'\';
                 }
               });
               var data = JSON.stringify(dataArray);//转换成string数据,以便后台接收
            //json字符串转换结束,用于下面ajax提交
               alert(data);
                $.ajax({
                    type: 'post',
                    contentType:'application/json',
                    url: 'post.php',
                    data: data,
                    success: function(data) {
                      alert(JSON.stringify(data));//处理返回数据
                      console.log(data);
                        if(data.hasOwnProperty("url")){  //判断返回的json数组中是否存在指定键值
                        alert("cun zai jian zhi");
                        console.log(data["url"]);
                        window.location.href= data["url"];
                        }else{
                            alert(\'返回数据无url地址\');
                        }
                    }
                  });
            }
            }
             //   sub();
 </script>
最后编辑: admin  文档更新时间: 2021-03-16 21:50   作者:admin