我有一个搜索输入,在输入时将数据从输入发送到php文件.php文件在我的数据库上搜索并显示搜索选项列表.你知道,ajax风格直播搜索.
我的问题是,如果你输入的东西非常快,它可能只是从前1或2个字母开始搜索,即使已经输入了另外10个字母.这会导致一些问题.
我的jQuery看起来有点像这样:
$(document).ready(function(){
$('#searchMe').keyup(function(){
lookup(this.value);
});
});
Run Code Online (Sandbox Code Playgroud)
和
function lookup(searchinput) {
if(searchinput.length == 0) {
// Hide the suggestion box.
$("#suggestions").hide();
} else {
$('#loading').fadeIn();
$.post("/RPCsearch.php", {queryString: ""+searchinput+""}, function(data){
if(data.length > 0) {
$("#suggestions").html(data).show();
$('#loading').fadeOut();
}
});
}
} // lookup
Run Code Online (Sandbox Code Playgroud)
所以我只是很好奇,我怎么能这样做,以便我的脚本等到我在完成输入之后再运行该函数?我的逻辑说的是,如果一个键没有被按下200微秒,运行该功能,否则稍微抬起一点.
这是怎么做到的?
当我从jsonp请求(下面的客户端代码)查看查询字符串时,有两个对象,一个需要在响应中使用的"回调"字符串(所以客户端代码指向成功处理程序)和一个带有_这个下划线的关键是什么?我在任何文档中都找不到任何引用,它似乎是某种形式的.
我虽然它可能用于指向错误处理程序(在其上,与回调结合,或替换回调字符串中的下划线后面的数字),但它似乎不是.
url = 'http://localhost:11767/Handlers/MyHandler.ashx';
Run Code Online (Sandbox Code Playgroud)
...
$.ajax({
url: url,
dataType: "jsonp",
error: function (jqXHR, textStatus, errorThrown) {
//...
},
success : function(d) {
//...
}
});
Run Code Online (Sandbox Code Playgroud)
要么
$.getJSON(url + "?callback=?", function(d) {
}).success(function(d) {
//...
}).error(function(jqXHR, textStatus, errorThrown) {
//...
}).complete(function(d) {
//...
});
Run Code Online (Sandbox Code Playgroud)
旁注以防万一这有助于读取此内容:因为这是一个jsonp请求,只有在客户端发生异常时才会出现错误,例如,存在超时或响应格式化问题(即不使用回调),为了克服这个问题,我总是在处理程序中记录并吞下异常,但是给出一个标准响应对象(所有响应都由其构成),该对象具有异常的state属性和message属性.
我有一个页脚/行的SVG,但它们在第1和第2部分之间的过渡期间无法动画.代码调试起来并不简单,因为这需要使用控制几个元素大小的js进行动画处理.许多勇敢的用户已经提出了可在Chrome和Firefox中运行的解决方案,但为了获得信誉,该解决方案也必须在Safari中运行.
我已经验证了我在transition(.fixed)期间添加的类确实已应用,因为它们是我使用的更改SVG的大小.因此,当SVG改变大小时,由于某种原因,我仍然无法将CSS转换为动画.您可以在下面的GIF中查看此失败动画.
我认为需要转换代码的元素是SVG本身,它们是类areaSVG,因为它们是从更改max-height: 18vh到的那些max-height: 9vh.但是,当我添加一些动画代码时.areaSVG,它不起作用,所以也许我是错误.这是我尝试添加到.areaSVG失败的初始SVG()设置的转换代码:
-webkit-transition: max-height 1s;
-moz-transition: max-height 1s;
transition: max-height 1s;
Run Code Online (Sandbox Code Playgroud)
几个月前,在另一个经验更丰富的编码器的帮助下,我添加了一个javscript函数,在某些时候动画了SVG.我们使用JS来调用window.requestAnimationFrame(startAnimation),但它不再有效.我评论了与此相关的部分,但是如果您认为需要JS才能使其生成动画,请随意分叉代码笔并使用它.一个合适的答案应该使动画在Safari,Chrome和Firefox中运行.
这是您应该解决的最简单,最小化的版本,因为它没有媒体查询(请求@Eric N:http://codepen.io/ihatecoding/pen/LREOPW
这是完整的codepen,有媒体查询:http://codepen.io/ihatecoding/pen/ALjKKz
第一部分的选择器(在页面顶部):
#indexFooter.ey-col-svg.areaSVG第二部分的选择器(向下滚动100px后):
#indexFooter.fixed.ey-col-svg.fixed.areaSVG.fixed注意:当页面首次加载时,SVG parent(.ey-col-svg)和SVG本身(.areaSVG)都是不可见的,并且具有display:none避免用户奇怪体验的设置.
以下是有关每个部分中重要元素的信息:
初始CSS(第一部分)
/* The whole footer container */
#indexFooter …Run Code Online (Sandbox Code Playgroud) 场景是我有两个divs:一个是我选择items(divResults)的地方,然后它转到下一个div(divSelectedContacts).当我选择它时,我在它旁边放一个刻度线.我想要做的是当我再次选择它时我想删除刻度线并从中删除元素divSelectedContacts.
这是代码:
$("#divResults li").click(function()
{
if ($(this).find('span').size() == 1)
{
var copyElement = $(this).children().clone();
$(this).children().prepend("<span class='ui-icon ui-icon-check checked' style='float:left'></span>");
$("#divSelectedContacts").append(copyElement);
} else
{
var deleteElement = $(this).find('span'); //here is the problem how to find the first span and delete it
$(deleteElement).remove();
var copyElement = $(this).children().clone();//get the child element
$("#divSelectedContacts").find(copyElement).remove(); //remove that element by finding it
}
});
Run Code Online (Sandbox Code Playgroud)
我不知道如何span在li使用中选择第一个$(this).任何帮助深表感谢.
对于yslow页面速度,我想删除我的元标记并将我的编码放入.htaccess文件中.以下是我读过的所有方法.哪种方式首选?语言设置也是一个好主意 - 如果文件匹配的一面将适用于所有文件类型?
1)https://github.com/jancbeck/My-Wordpress-Boilerplate/blob/master/htaccess.txt
AddDefaultCharset utf-8
AddCharset utf-8 .html .css .js
DefaultLanguage en-US
Run Code Online (Sandbox Code Playgroud)
VS
2)http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html
<filesMatch "\.(html|css|js)$">
AddDefaultCharset UTF-8
DefaultLanguage en-US
</filesMatch>
Run Code Online (Sandbox Code Playgroud)
VS
3)我怀疑这就是所需要的.但未经测试.
AddCharset UTF-8 .html .css .js
DefaultLanguage en-US
Run Code Online (Sandbox Code Playgroud) 这是我的代码:
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
. 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
. 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
. '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);
$im = imagecreatefromstring($data);
if ($im !== false) {
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
}
else {
echo 'An error occurred.';
}
Run Code Online (Sandbox Code Playgroud)
我想将以这种方式生成的图像保存到目录中.我该怎么做呢?
我正在向内容中带有XML的php服务器发送请求:
POST /index3.php HTTP/1.0
Connection: Close
Accept: application/xml
Content-Type: text/xml
<?xml version="1.0" encoding="UTF-8"?>
<root />
Run Code Online (Sandbox Code Playgroud)
我在全局检查瓦尔(如$_GET,$_POST,$_ENV,$_FILES,$_REQUEST...),但它们都是空的.
我怎样才能检索服务器中的内容?
我正在尝试处理结果,$data = curl_exec($ch);而不是在屏幕上打印它.为了达到我设定的选项CURLOPT_RETURNTRANSFER,以true这样的:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
Run Code Online (Sandbox Code Playgroud)
在我的本地服务器上,这按预期工作,但当我在服务器上将相同的文件放在网上时,它不起作用.
当我设置CURLOPT_RETURNTRANSFER到false它的工作原理.
我究竟做错了什么?
我将使用Notepad ++在每行的开头逐步添加数字.这不是一个开始.但是,就像
when ID = '1' then data
when ID = '2' then data
when ID = '3' then data
.
.
.
.
when ID = '700' then
Run Code Online (Sandbox Code Playgroud)
有没有办法可以通过替换任何表达式来增加这些数字,或者是否有任何内置的记事本功能.
谢谢
在将每个文档插入集合之前,我正在尝试存储salt和哈希密码.但在编码salt和密码时,它显示以下错误:
line 26, in before_insert
document['salt'] = bcrypt.gensalt().encode('utf-8')
AttributeError: 'bytes' object has no attribute 'encode'
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
def before_insert(documents):
for document in documents:
document['salt'] = bcrypt.gensalt().encode('utf-8')
password = document['password'].encode('utf-8')
document['password'] = bcrypt.hashpw(password, document['salt'])
Run Code Online (Sandbox Code Playgroud)
我在virtualenv中使用eve框架和python 3.4