Ajax、PHP和mysqli
当我使用ajax调用我的php文件时,几乎需要整整30秒才能显示任何结果 我怎样才能使结果更即时 我的ajax是:Ajax、PHP和mysqli,php,jquery,ajax,mysqli,Php,Jquery,Ajax,Mysqli,当我使用ajax调用我的php文件时,几乎需要整整30秒才能显示任何结果 我怎样才能使结果更即时 我的ajax是: $("#j_search").keyup(function(){ if(($.trim($(this).val()) != '') & ($(this).val() != ' ')){ $.post('../php/ajax/j_search.php', {search: $(this).val()}, function(data
$("#j_search").keyup(function(){
if(($.trim($(this).val()) != '') & ($(this).val() != ' ')){
$.post('../php/ajax/j_search.php', {search: $(this).val()}, function(data){
$(".matched_results").html(data).show();
});
}
});
如果您出于某种原因认为我的php是错误的,那么请编写一个您自己的示例,我将对此进行测试,尽管我对此表示怀疑。我不能给php的源代码
我可能会因为发布代码而被炒鱿鱼,但在这种情况下,这似乎是值得的。。
以下是PHP的一个片段:
class SQL_COMMANDS{
//Connecting vars
private $_HOST = "localhost";
private $_USER = "root";
private $_PASS = "dud";
private function HANDLE($ERRORNUM, $ERRORMSG){//USED FOR ERROR HANDLER
$HANDLE = new HANDLE();
$HANDLE->DIRECT($ERRORNUM, $ERRORMSG);
}
function connect($DB){
$con=mysqli_connect($this->_HOST,$this->_USER,$this->_PASS,$DB);
if (mysqli_connect_errno($con)){
$this->HANDLE("001","Connection failed (DB)");
}
return $con;
// mysqli_close($con);
//$SQL_COMMANDS->connect("DB");
}
function SQL($DB, $SQL){//Construct used to transact CONNECT
return mysqli_query($this->connect($DB), $SQL);
// mysqli_close($this->connect($DB));
//$SQL_COMMANDS->SQL("DB", "SELECT * FROM TABLE WHERE ID=1");
}
function Assoc_Grab($DB, $SQL, $ARRAYGRAB){//Returns Data associated with the ARRAY directed from the QUERY
$DATA = array();
$ROW = mysqli_fetch_assoc($this->SQL($DB, $SQL));
foreach($ARRAYGRAB as $pointer){
array_push($DATA,$ROW[$pointer]);
}
//print_r($SQL_COMMANDS->Assoc_Grab('DB', "SELECT * FROM TABLE WHERE ID='1'", array('NAME')));
return $DATA;
}
}
您的服务器托管在哪里?您是否进行了基线ping测试以检查延迟问题 尝试创建一个只回显单个数字、字母等的php页面,然后使用google chrome developer工具在控制台中运行以下操作:
$.get('../php/ajax/j_search.php', function(data){
console.log(data);
});
在完成$.get之后,还值得检查网络选项卡以查看其结果。将鼠标悬停在蓝色时间线栏上。它将为您提供连接、等待、发送和接收的时间明细 您编写的JavaScript代码没有任何错误。这肯定是PHP或您使用的服务器的问题 尝试用以下简单代码替换您的PHP(即:PHP/ajax/j_search.PHP):
<?php
echo rand();
?>
与:
您是否尝试过使用
。/php/ajax/j_search.php
只是
看看它在回显ajax发布的数据时响应有多快?如果您获取其他url,例如test.txt
-文件,它是否仍然很慢?如果您在j#u search中键入“test”一词,您将触发ajax 4次,这可能就是它的feals变慢的原因。您的php文件从何处提取数据?尝试在整个php执行过程中回显时间戳,看看它的速度有多慢。您添加到编辑中的php不包括处理POST响应的部分。它托管在我的本地主机上,我不认为这是您的建议,通过FormOok提交时会立即加载相同的代码,因此这将其缩小到php,我们可以看看我提供的php吗?哇,我把主机改成了127.0.0.1,现在可以用了。。。为什么会造成延误?
private $_HOST = "localhost";
private $_HOST = "127.0.0.1";