Php 优化jQuery速度
我正在尝试使用jQuery的奇特的自动完成功能,但我在执行脚本的速度方面遇到了问题。代码段:Php 优化jQuery速度,php,jquery,mysql,optimization,performance,Php,Jquery,Mysql,Optimization,Performance,我正在尝试使用jQuery的奇特的自动完成功能,但我在执行脚本的速度方面遇到了问题。代码段: var data = <?php if(isset($names)) { echo json_encode(implode(" | ", array_unique($names))); } else { echo "null"; } ?>; if (data != null) { data = data.split(" | "); $("#search_names").au
var data = <?php if(isset($names)) { echo json_encode(implode(" | ", array_unique($names))); } else { echo "null"; } ?>;
if (data != null) {
data = data.split(" | ");
$("#search_names").autocomplete(data);
}
var数据=;
如果(数据!=null){
data=data.split(“|”);
$(“#搜索名称”)。自动完成(数据);
}
我的数据来自某个MySQL表,在jQuery将其传递到输入字段之前由PHP进行处理。当我查看这类页面的源代码时,那里有大量的文本(显然),页面本身的加载时间在5-10秒之间
所以我想知道有没有办法加快我的脚本速度?我知道,无论是在同一个文件中还是在其他包含的文件中,总是会有那么多的文本需要处理,但我只是想知道,我是因为这么多数据而被困在10秒的加载页面中,还是我能以某种方式让它更棒?:)
谢谢你的帮助 您绝对应该使用,而不是每次都将所有数据填充到文档中 第一个参数可以是远程数据的URL,也可以是本地数据的数组 对于远程数据:当用户开始键入时,将向指定的后端(“my_autocomplete_backend.php”)发送一个请求,其中包含一个名为q的GET参数,该参数包含输入框的当前值,以及一个参数“limit”,该参数的值为max选项指定
如果查找仍然需要很多时间,您可能需要研究优化PHP脚本,而不是jQuery部分。例如数据库使用索引等…您肯定应该使用,而不是每次都将所有数据填充到文档中 第一个参数可以是远程数据的URL,也可以是本地数据的数组 对于远程数据:当用户开始键入时,将向指定的后端(“my_autocomplete_backend.php”)发送一个请求,其中包含一个名为q的GET参数,该参数包含输入框的当前值,以及一个参数“limit”,该参数的值为max选项指定
如果查找仍然需要很多时间,您可能需要研究优化PHP脚本,而不是jQuery部分。数据库是否使用索引等…看起来您正在使用以下Script: 对于这类事情,您应该使用Ajax,例如:
$("#search_names").autocomplete('/ajax/autocomplete.php');
然后在自动完成的html中,您应该执行以下操作:
<?php
//Database
//Do Query: SELECT item FROM content WHERE {$escaped_q} ORDER BY item_hits DESC LIMIT {$escaped_limit}
//echo json_encode($results);
?>
将结果打印为JSON对象,它的工作速度应该会快得多。使用以下scritp看起来像是您的: 对于这类事情,您应该使用Ajax,例如:
$("#search_names").autocomplete('/ajax/autocomplete.php');
然后在自动完成的html中,您应该执行以下操作:
<?php
//Database
//Do Query: SELECT item FROM content WHERE {$escaped_q} ORDER BY item_hits DESC LIMIT {$escaped_limit}
//echo json_encode($results);
?>
将结果打印为JSON对象,它应该工作得更快。我知道这不是你的问题,但当
JSON\u encode
旨在保留你的数据结构时,将数组内爆然后进行JSON\u编码有点奇怪。您可以使用data=JSON.parse(data)代码>在脚本中,而不是拆分。这可以防止数据开始时出现问题,包括其他字符(如|
)嗯,好的,我明白了。。。我一定会设法解决的。。。感谢您的关注;-)我知道这并不是你的问题的一部分,但是当json\u encode
是为了保存你的数据结构时,对一个数组进行内爆然后进行json\u编码是有点奇怪的。您可以使用data=JSON.parse(data)代码>在脚本中,而不是拆分。这可以防止数据开始时出现问题,包括其他字符(如|
)嗯,好的,我明白了。。。我一定会设法解决的。。。感谢您的关注;-)