我需要触发链接点击Ajax成功.我目前拥有的代码是:
jQuery.ajax({
//Ajax Options
success: function(value) {
jQuery('.parent_selector').html(jQuery(value).find('.child_selector'));
jQuery('.test-link').trigger('click');
},
error: function() {
//alert(error);
} });
Run Code Online (Sandbox Code Playgroud)
Ajax部分工作正常,我能够.parent_selector使用Ajax响应数据加载div.在此之后,我需要触发jQuery('.test-link').trigger('click');上面代码中的链接点击.但是,永远不会触发链接点击.要检查,我搬到jQuery('.test-link').trigger('click');内jQuery(document).ready(function()才能看到该链接是否被触发页面加载.但它也不适用于那里.我尝试的下一件事是放入jQuery('.test-link').trigger('click');另一个链接的点击事件,如下所示:
jQuery('section[role="main"]').on('click', '.another-link', function(e){
e.preventDefault();
jQuery('.test-link').trigger('click');
Run Code Online (Sandbox Code Playgroud)
});
瞧!,它在另一个链接的点击事件中工作.所以,我真的很困惑我在这里做错了什么.为什么jQuery('.test-link').trigger('click');不想用Ajax成功调用好玩?
我在for循环中调用了FileReader API来遍历多个文件对象.我正在使用FileReader来显示图像的预览.
function() {
for (var i in Files) {
var fileReader = new FileReader();
fileReader.readAsBinaryString(Files[i]);
fileReader.onload = function() {
// do something on FileReader onload
}
fileReader.onprogress = function(data) {
if (data.lengthComputable) {
var progress = parseInt( ((data.loaded / data.total) * 100), 10 );
console.log(progress);
}
}
}
// do something on completion of FileReader process
// actions here run before completion of FileReader
}
Run Code Online (Sandbox Code Playgroud)
由于FileReader API的异步特性,我遇到了两个问题.首先,onprogress为每个FileReader实例触发事件.这为我提供了每个文件的进度.然而,我打算显示所有文件的总进度而不是单个文件.
其次,我想执行只应在FileReader的所有实例(每个文件一个)完成时执行的操作.目前,由于FileReader是异步运行的,因此操作在FileReader完成任务之前运行.我已经搜索了很多,但却遇到了解决这些问题的方法.任何帮助表示赞赏.
我正在尝试使用以下查询跟踪MySQL DB中的网页浏览:
"UPDATE $table SET pageviews = pageviews + 1 WHERE page_id = 1"
这适用于低到中等流量.但是,在高流量时,对DB的持续写入将导致高读/写争用并最终导致DB崩溃.
我已经在Stackoverflow和其他地方阅读了几个QA,其中建议使用MongoDB作为替代方案.但是,这个选择不可用,我必须坚持使用MySQL.此外,我无法控制引擎 - MyISAM或InnoDB(由于基于行的锁定而不是表格,InnoDB的性能更好,如MyISAM的情况).
考虑到上述情况,在不破坏数据库(在数据库或其他情况下)的情况下,跟踪网页浏览的最佳方法是什么?我真的很感谢一个提供代码片段作为起点(如果可行)的答案.
顺便说一下,我正在使用PHP.
更新:@fire在这里有一个很好的解决方案.但是,它需要使用memcache.我正在寻找一些可以轻松实现而无需特定基础知识的东西.这适用于几乎可以在不同托管环境中使用的模块.在第二个想法,我想到的是某种基于cookie或文件日志的实现.我不确定这种实施如何在实践中发挥作用.任何进一步的投入都非常受欢迎
我有一个远程Git存储库,我可以通过SSH从本地存储库中推送/拉出.我可以使用Git status命令检查本地仓库上未跟踪/未分页的文件.如何使用远程仓库执行相同的操作?请注意,我不是在寻找本地提交和远程提交之间的区别.
我从http://git-scm.com下载并安装了最新的Git版本1.8.4.2 .我希望可以安装各种第三方Git模块,如Subtree /usr/local/git/contrib.但是,该contrib文件夹内部只包含一个文件夹(completion),没有其他文件或文件夹.
所以我有两个问题:
为什么contrib文件夹中缺少模块?
如何Subtree在contrib文件夹中没有相同的情况下安装?(我更喜欢从官方Git源代码安装Subtree,而不是从https://github.com/apenwarr/git-subtree安装,现在这是一个过时的仓库)
顺便说一下,我正在运行OS X Mavericks
截至jQuery 1.7 .live已被弃用并替换为.on.但是,我很难让jQuery .on与之合作event.preventDefault();.在下面的示例中,单击锚标记会将我带到链接页面,而不是阻止跟随链接的默认浏览器操作.
jQuery('.link-container a').on('click', function(event) {
event.preventDefault();
//do something
});
Run Code Online (Sandbox Code Playgroud)
但是,相同的代码与.live工作没有任何打嗝.
jQuery('.link-container a').live('click', function(event) {
event.preventDefault();
//do something
});
Run Code Online (Sandbox Code Playgroud)
我正在使用当前附带Wordpress 3.3.1的jQuery 1.7.1版.这里有什么问题?
刚接触 K8s 并面临实施困境。我需要为多个 NGINX-PHP 网站部署一个 K8s 集群,每个网站都有自己的域。托管网站的数量可以定期增加/减少,在任何给定时间部署成百上千。我排除了 PHP 部分以保持问题简单。
场景 1 - 入口处的 vhost 和 SSL 终止
优点:
可能是骗局?
场景 2 - Pod 级别的 vhost 和 SSL 终止
优点:
缺点:
以上哪种场景更适合?对于给定的问题,还有其他可能的情况吗?
我需要检索用户在浏览器中看到的实际URL.我在页面加载时运行Ajax请求.因此,正则$_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]表达式返回Ajax请求的请求URL,而不是浏览器中的实际URL.
知道如何获得这个吗?
基于这些问题的答案,我做了一些测试,我不得不再次提出同样的问题,因为没有一个答案看起来是正确的(至少对我而言).如果我对主题的理解不好,请纠正我.
我正在为一个输出JSON响应的Web应用程序开发API.服务器端响应由json_encodePHP 处理.因为,这将是一个公共API,我希望通过使用API的开发者不正确的客户端实现来阻止任何XSS.
对于我的测试,我在服务器端执行了以下操作:
header("Content-Type: application/json", true);
$bad = array('bad_key' => 'alert("hi");');
echo json_encode($bad);
Run Code Online (Sandbox Code Playgroud)
在客户端,我使用jQuery AJAX自动解析收到的JSON.最初这似乎没有显示任何XSS问题.然后我response.bad_key去了eval().
eval(response.bad_key);
Run Code Online (Sandbox Code Playgroud)
这立即导致执行字符串bad_key.我知道使用eval不好,应该避免.但是,这是我所知道的,并不能确保其他开发人员遵循相同的做法.为了避免这种情况,解决方案是执行服务器端编码.为此,让我说我用htmlspecialchars.
header("Content-Type: application/json", true);
$bad = array('bad_key' => htmlspecialchars('alert("hi");'));
echo json_encode($bad);
Run Code Online (Sandbox Code Playgroud)
这虽然它不执行alert("hi");客户端但由于存在而破坏了JS代码&.json_encode使用此处JSON_HEX_QUOT|JSON_HEX_TAG|JSON_HEX_AMP|JSON_HEX_APOS建议的选项也无济于事.
那么如何在这种情况下阻止XSS呢?
php ×3
git ×2
javascript ×2
jquery ×2
ajax ×1
filereader ×1
git-subtree ×1
html5 ×1
json ×1
kubernetes ×1
mysql ×1
xss ×1