现在的位置: 首页 > 综合 > 正文

PHP基础/JS变量存入数据库

2018年05月26日 ⁄ 综合 ⁄ 共 2242字 ⁄ 字号 评论关闭

今天在研究腾讯的第三方接入 , 腾讯JS SDK 很容易完成对QQ登陆框的部署。

遇到的一个必经的问题是,如何把js变量存入数据库中。


1 。 实际需求是把  openId 以及 accessToken 存入mysql中 ,以便维护用户的信息、

<script type="text/javascript">
if(QC.Login.check()){//如果已登录
	QC.Login.getMe(function(openId, accessToken){
		alert(["当前登录用户的", "openId为:"+openId, "accessToken为:"+accessToken].join("\n"));
	});
	//这里可以调用自己的保存接口
	//...
}
</script>

2。由于对于JS 并不熟悉,百度谷歌了很多方法 。

1) 可以使用URL + 参数 ,刷新页面将参数 传递给服务端 。

var params ;window.location.href = "www.example.com?params="+params;

 2) 可以使用 JS Cookie ,将JS变量存储在Cookie中。

<script language="JavaScript" type="text/javascript">
function addCookie(objName,objValue,objHours){//添加cookie
var str = objName + "=" + escape(objValue);
if(objHours > 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失
var date = new Date();
var ms = objHours*3600*1000;
date.setTime(date.getTime() + ms);
str += "; expires=" + date.toGMTString();
}
document.cookie = str;
alert("添加cookie成功");
}

function getCookie(objName){//获取指定名称的cookie的值
var arrStr = document.cookie.split("; ");
for(var i = 0;i < arrStr.length;i ++){
var temp = arrStr[i].split("=");
if(temp[0] == objName) return unescape(temp[1]);
} 
}

function delCookie(name){//为了删除指定名称的cookie,可以将其过期时间设定为一个过去的时间
var date = new Date();
date.setTime(date.getTime() - 10000);
document.cookie = name + "=a; expires=" + date.toGMTString();
}

function allCookie(){//读取所有保存的cookie字符串
var str = document.cookie;
if(str == ""){
str = "没有保存任何cookie";
}
alert(str);
}

function $(m,n){
return document.forms[m].elements[n].value;
}

function add_(){
var cookie_name = $("myform","cookie_name");
var cookie_value = $("myform","cookie_value");
var cookie_expireHours = $("myform","cookie_expiresHours");
addCookie(cookie_name,cookie_value,cookie_expireHours);
}

function get_(){
var cookie_name = $("myform","cookie_name");
var cookie_value = getCookie(cookie_name);
alert(cookie_value);
}

function del_(){
var cookie_name = $("myform","cookie_name");
delCookie(cookie_name);
alert("删除成功");
}
</script>

     3 ) 使用Ajax 。

(1).创建 XMLHttpRequest 对象

为了应对所有的现代浏览器,包括
IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject :

var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

然后调用XMLHttpRequest 的open() ,send()方法

xmlhttp.open("GET","demo.php?fname=Bill&lname=Gates",true);
xmlhttp.send();

即可在demo.php 页面通过$_GET['fname'],$_GET['lname']获得 ,在大部分情况下GET 方式发送数据都是可行的



抱歉!评论已关闭.