为什么PHP程序明明有错,但ajax调用这个程序却可以成功返回 为什么PHP程序明明有错,但ajax调用这个程序却可以成功的正常返回,并调用更新函数,有没有什么办法查看ajax调用PHP后,PHP里面的执行过程啊??今天被这个问题搞死了,整整搞了一天,请牛人帮帮看一下,感激不尽! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script>/** * 初始化一个xmlhttp对象 */ var first = true; function InitAjax() { var ajax=false; try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { ajax = false; } } if (!ajax && typeof XMLHttpRequest!='undefined') { ajax = new XMLHttpRequest(); } return ajax; } function modifyData(tid,subject) { //需要进行Ajax的URL地址 var url = "updateData.php"; //获取新闻显示层的位置// var show = document.getElementById("newtitle"); //实例化Ajax对象 var ajax = InitAjax(); //使用Get方式进行请求 ajax.open("POST", url, true); // ajax.setrequestheader("content-length",name.length);//post提交设置项 ajax.setrequestheader("content-type","application/x-www-form-urlencoded");//post提交设置项 //获取执行状态 ajax.onreadystatechange = function() { //如果执行是状态正常,那么就把返回的内容赋值给上面指定的层 if (ajax.readyState == 4 && ajax.status == 200) { alert(tid+subject); var title = document.getElementById("thread_"+tid); var newlink = title.innerHTML.split("<BR>"); title.innerHTML = newlink[0]; first = true; } } ajax.send("tid="+tid+"&subject="+subject); }</script>以下是updateData.PHP的代码:<?php function addslashesArray(&$array) { is_array($array) ? array_walk($array,'addslashesArray') : $array = addslashes($array); ///加入反斜杠 } if(!get_magic_quotes_gpc()) { # 若php.ini 中 magic_quotes_gpc=off addslashesArray($_GET); addslashesArray($_POST); addslashesArray($_COOKIE); addslashesArray($_FILES); addslashesArray($_REQUEST);// print_R($_POST); } $tid = intval($_POST["tid"]); $subject = $_POST["subject"]; require_once '../../include/common.inc.php'; $result = $db->query("UPDATE {$tablepre}threads SET subject='".$subject."' WHERE tid='$tid'"); echo "执行结果:".$result; print_R($subject); echo "aaaa".$subject;?> 装个Firebug或者HttpWatch,不然直接访问该页面看报什么错误 二楼说的也有可能,不过,我说的程序有错,是我自己后面为了测试把它改错了,但是,正确的时候,我直接执行这段PHP程序就可以修改数据库,而通过AJAX就是没办法修改到数据库里的信息。郁闷啊!!! 通过AJAX调用完全正常,什么错误都没报,但是数据库里的信息就是不改!!我头快炸了。 6楼说的有道理,我原来也是这么想的,不过,我也把AJAX那段改成GET,POST都试过了,都是不成功,在JS这边alert出来,这些信息都对,但是,到PHP那边,我就没办法测试了,所以不知道应该怎么做,卡在这里了,是不是我的这段AJAX写的不对啊?能不能帮忙看一下,我原来就是用这个修改另一个地方就可以。这次怎么改也不行! smarty 循环问题 求高手,求给力,casPhp的问题。CAS Authentication failed! ecshop 伪静态后 LAMP安装完成后PHP页面无法显示 为防止频繁发帖,该怎么办 为何Ext 中的panel中的grid不显示呢?当点击好几次的时候才出现,而且还是重复的呢? 关于请人做网站的问题 一组数字上下翻转 FLV转AVI或FLV转MP4的程序 soap 协议服务端配置 wsdl 一直报错,求大牛指点 apache php 远程服务器 文件映射 新网互联公司招聘PHP开发工程师
/**
* 初始化一个xmlhttp对象
*/
var first = true;
function InitAjax()
{
var ajax=false;
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
ajax = false;
}
}
if (!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
}
return ajax;
}
function modifyData(tid,subject)
{
//需要进行Ajax的URL地址
var url = "updateData.php";
//获取新闻显示层的位置
// var show = document.getElementById("newtitle");
//实例化Ajax对象
var ajax = InitAjax();
//使用Get方式进行请求
ajax.open("POST", url, true);
// ajax.setrequestheader("content-length",name.length);//post提交设置项
ajax.setrequestheader("content-type","application/x-www-form-urlencoded");//post提交设置项
//获取执行状态
ajax.onreadystatechange = function() {
//如果执行是状态正常,那么就把返回的内容赋值给上面指定的层
if (ajax.readyState == 4 && ajax.status == 200) {
alert(tid+subject);
var title = document.getElementById("thread_"+tid);
var newlink = title.innerHTML.split("<BR>");
title.innerHTML = newlink[0];
first = true;
}
}
ajax.send("tid="+tid+"&subject="+subject);
}
</script>
以下是updateData.PHP的代码:
<?php
function addslashesArray(&$array)
{
is_array($array)
? array_walk($array,'addslashesArray')
: $array = addslashes($array); ///加入反斜杠
}
if(!get_magic_quotes_gpc())
{ # 若php.ini 中 magic_quotes_gpc=off
addslashesArray($_GET);
addslashesArray($_POST);
addslashesArray($_COOKIE);
addslashesArray($_FILES);
addslashesArray($_REQUEST);
// print_R($_POST);
}
$tid = intval($_POST["tid"]);
$subject = $_POST["subject"];
require_once '../../include/common.inc.php';
$result = $db->query("UPDATE {$tablepre}threads SET subject='".$subject."' WHERE tid='$tid'");
echo "执行结果:".$result;
print_R($subject);
echo "aaaa".$subject;
?>
我头快炸了。