标签:ajax 浏览器 xmlhttprequest php 缓存
1、现在的浏览器都比较智能化,当数据库的数据有变化时,不会读取网页上的缓存数据,通过以下代码实现数据库的访问:
var thePage = ‘servesql.php‘;
myRand = parseInt(Math.random()*9999999999999999);
var theURL = thePage +"?rand="+myRand;
xmlhttp.open("GET", theURL ,true);
xmlhttp.onreadystatechange = GetXmlTextByTagName;
结果是无法数据到数据库的内容,可能是浏览器不支持这种方式,在chrome, 内核版本为IE6.0的Internet Explorer上都不支持这种方式。
参考网址:http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_send.asp
2、在WAMP上的配置上,调试php时能让在网页上显示调试错误:
在php.ini启动这两项:display_errors = On && error_reporting = E_ALL
3、php.ini-production 与 php.ini-development的区别:
如果将php.ini-production改成php.ini时,默认调试信息在网页上是不显示的,所以如果是用php进行开发调试时最好还是将 php.ini-development改为php.ini。
4、pdo连接数据库后关闭方法:
$pdo = new PDO($dsn);
$pdo = null;//这样就关闭了
5、错误:Fatal error: Call to a member function fetchAll() on a non-objec
一般是连接数据库的地址出现错误或数据库里无数据。
6、错误:error on line 1 at column 1: Document is empty。
当用php写入xml文件时,不允许在header()函数前有输出功能 ,例:var_dump($sth),不然就将header(‘Content-Type: text/xml‘)中的“text/xml”改成text/json。
<?php
$dbh = new PDO("sqlite:upsdata.dat", null, null);
$sth = $dbh->query(‘SELECT * FROM t_ups_rundata‘);
var_dump($sth);
$result = $sth->fetchAll();
$i=0;
$CountArray=0;
foreach($result[0] as $x=>$x_value)
{
if($i%2==0)
{
$UPSData[$CountArray++]=$x_value;
}
$i++;
}
//print_r ($UPSData);
header(‘Content-Type: text/xml‘);
echo "<?xml version=‘1.0‘ encoding=‘utf-8‘?>";
echo "<clock>";
echo "<timestring>$UPSData[3]</timestring>";
echo "</clock>";
$dbh = null;
?>
7、在使用ajax时 xmlHttp=new XMLHttpRequest()与 xmlHttp.open ()、xmlHttp.send()只能在同一个文件实现。
8、不同浏览器解析xml文件有不同的方式:http://www.jb51.net/article/20876.htm
9、当写的网页文件在IE6.0上运行时,在语法上没错误,而在操作有错误时会直接让浏览器崩溃。
10、问题:在ie6.0上没实现数据的动态刷新,通过打开另一个网页才能实现数据的刷新。
解决方法:一般浏览器的缓存设置问题, "每次访问此页时检查"这个选项没勾上。勾选过程:工具->Internet选项->设置->每次访问此页时检查。
11、
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlHttp=new XMLHttpRequest();
var url="responsexml.php";
xmlHttp.open("GET",url,false);
xmlHttp.send(null);
xmlHttp.onreadystatechange=getValue(xmlHttp);
当xmlHttp.open("GET",url,false); xmlHttp.send(null);这两个函数放在onreadystatechange 后面时会出现数据读取不到,页面无数据显示。具体原因没找到。
12、 IE5、IE6的ajax的操作方法:
// code for IE6, IE5
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
var url="responsexml.php";
xmlHttp.onreadystatechange=function()
{
if (xmlHttp.readyState==4 && xmlHttp.status==200)
{
xmlDoc=xmlHttp.responseXML;
nodes=xmlDoc.documentElement.childNodes;
InputVoltage.innerHTML = nodes.item(3).text;
OutputVoltage.innerHTML = nodes.item(7).text;
OutputMinVoltage.innerHTML = nodes.item(34).text;
OutputMaxVoltage.innerHTML = nodes.item(33).text;
Frequency.innerHTML = nodes.item(13).text;
xmlHttp = null;
}
}
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
标签:ajax 浏览器 xmlhttprequest php 缓存
原文地址:http://blog.csdn.net/aba13579/article/details/39010693