这是我对xmlhttp的JavaScript函数:
var params = "a=" + encodeURIComponent(a)
+ "&b=" + encodeURIComponent(b)
+ "&c=" + encodeURIComponent(c);
var url = "noob.php";
xmlHttp2.open("POST", url, true);<<<<up till here also no prob,did some testing
xmlHttp2.onreadystatechange = stateChanged2;
xmlHttp2.send(params);
}
这是noob.php
<?php
include('config.inc.php');
include('database.inc.php');
$a = mysql_real_escape_string($_POST['a'], $con);
$b = mysql_real_escape_string($_POST['b'], $con);
$c = mysql_real_escape_string($_POST['c'], $con);
mysql_query("INSERT INTO users (inchat,preference) values('N','$a$b$c');");
echo mysql_insert_id();
mysql_close($con);
?>
noob.php的所有代码都正常工作,我用html表单试了一下。 所以可能的错误应该在于:
xmlHttp2.onreadystatechange = stateChanged2;
xmlHttp2.send(params);
发送参数失败,我不知道如何测试
noob.php无法识别发送的字符串(不知怎的 - 可能导致发送的格式错误?)
问题是参数未插入表中。那么上面哪种可能的选择是正确的?
答案 0 :(得分:0)
noob.php的所有代码都正常工作,我用html表单试了一下。所以 可能的错误应该在于:
xmlHttp2.onreadystatechange = stateChanged2;
xmlHttp2.send(params);
这种问题大多数时候都可以通过在一些可疑线路后发出警报来轻松识别。
因此,在您有关于xmlHttp2.send(params);
的任何声音之前,如果警报未显示,请先在xmlHttp2.onreadystatechange = stateChanged2;
之后发出提醒,然后转到声明函数stateChanged2;
的位置并再次使用提醒进行调查(很可能是prblem在那个函数中,那里肯定有错误);