初次使用AJAX
来源:互联网 发布:淘宝怎么充钱余额 编辑:程序博客网 时间:2024/05/22 15:56
最近在做一个项目的改进,有个web页面上有一张图表。这个图表是由javascrip画的,显示在web的主页上。之前为了想要先看看图表出来的效果,将图表的一些参数都使用常量写死。现在想通过调用后台mysql数据库,将参数和后台数据关联。当数据发生变化时,就能够实时的通过图表看到效果。
实现起来也无非是简单访问数据库,操作难度不高。查了一些解决方案,这种类似问题的解决方法是靠js + Ajax + PHP + Mysql 这种架构来实现。在这种方法中,js用来实现页面绘图功能,Ajax应用能够实时的改变网页内容,而不用不停的点刷新按钮,PHP作为后台的功能实现,通过调用数据库并将结果反馈给前台。
原有的JS是实现画图的功能:
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
...
};
...});
...});
在原有的JS中加入以下代码:
var xmlHttpfunction getPara(str){ xmlHttp=GetXmlHttpObject()if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return }var url="getSql.php"url=url+"&sid="+Math.random()xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true)xmlHttp.send(null)}function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { //数据库参数处理 xmlHttp.responseText
} }function GetXmlHttpObject(){var xmlHttp=null;try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); }catch (e) { //Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } }return xmlHttp;}
代码解释:getPara()函数用来调用GetXmlHttpObject函数来创建XMLHTTP对象,定义发送到服务器的URL,添加一个随机数,以防服务
器使用缓存的文件,当触发事件时调用stateChanger,通过给定的URL打开XMLHTTP对象,向服务器发送HTTP请求。
getSql.php 是由JS通过AJAX调用后台的实现数据库访问的php文件。基本代码如下:<?php$con = mysql_connect('localhost', 'sa', 'xxxxxx');if (!$con) { die('Could not connect: ' . mysql_error()); }mysql_select_db("xxx", $con);$sql="SELECT * FROM user WHERE xxx = xxx";$result = mysql_query($sql);while($row = mysql_fetch_array($result)) { //向前台输出内容 echo "" ; }mysql_close($con);?>在下才疏学浅,初次使用ajax,还有很多东西弄的不明白,相信随着接触的次数增多会更增进熟悉程度。有个问题是,能不能不通过ajax,直接由JS对数据库进行访问?看了一些文章,说是容易造成安全漏洞,网上多推荐使用ajax。
- Ajax的初次使用
- 初次使用Ajax
- 初次使用AJAX
- ajax的初次使用
- SSH中初次使用Ajax
- ajax的初次使用与解决缓存问题
- 初次使用
- 初次使用
- 初次使用
- 初次使用
- 初次使用
- 初次使用
- ajax-初次认识
- 与Ajax的初次谋面
- 初次使用BLOG
- 今天初次使用Blog...
- eclipse初次使用
- 初次使用virtual pc
- 菜鸟看鸟哥的Linux私房菜(基础篇)
- 寻址能力
- SOA(一)、了解SOA
- poj 1089 Intervals
- 广播信道具有反馈特性
- 初次使用AJAX
- 关注世博
- 狼的50格言,你会受用一生
- ADO Connection Strings
- 好好活着
- 修改手机连接USB时显示的字符串
- VC++程序编译链接的原理与过程
- 管理变革:做好稽核十步骤
- union用法