我头疼...在onkeyup
情况下或其他情况下,我已经多次使用此代码行。 Ive之前曾通过onkeyup
调用遇到过问题,但通过KeyUpDelay(function)
解决了该问题。
使用此行代码搜索重复项。...
if (cat == 'cur') {
$.post('searchDBajax.php',{rmDocDup: ""+type+"", rmid: ""+<? echo $row['id']; ?>+""}, function(data){
if(data.length >0){
alert("f*ck");
}
});
}
PHP方面...
if(isset($_POST['rmDocDup'])) {
$type = $_POST['rmDocDup'];
$rmid = $_POST['rmid'];
$query = $db2->query("SELECT * FROM rmDocs WHERE rmid='$rmid' AND cat='cur' AND type='$type'");
if (mysqli_num_rows($query) != 0 ) {
echo "1";
}
}
这将导致PHP会话崩溃。
代码与其他事件几乎相同。唯一的区别是这不会通过onkeyup
事件来调用。
搜索时,我发现没有用。
有什么想法吗?
答案 0 :(得分:0)
我发现了问题!
运行该过程的PHP文件searchDBajax.php具有require(includes/config.inc.php);
。配置文件将调用functions.inc.php文件。其中的会话功能。会话函数具有session_regenerate_id(true);
。这是通过AJAX请求更改会话信息。
AJAX未发送标头。
我将会话功能更改为if (headers_sent()) {session_regenerate_id(true);}
,一切都很好。