根据链接名称,我想处理数据并在php脚本处理后检索一个值。一切正常,但我相信只要我能用chrome检查就没有取消ajax功能。
我可以这样做:
HTML
<a href="test0" class="link">click 0</a>
<a href="test1" class="link">click 1</a>
JS脚本:
$(".link").live('click', function(){
$.ajax({
type: 'POST',
url: '/ajax/file.php',
data: {
link : $(this).attr('href'),
},error: function(xhr, error){
console.debug(xhr); console.debug(error);
},success: function(data){
alert(data);
}
});
});
非常感谢。
更新:
我这样做的原因是根据用户的选择从网络服务器获取数据(文件),但我意识到使用这种技术无法实现这一点。最好的方法是使用<a href="/download.php?file=myfile&token=asdasdlkjsd" page="_blank">file</a>
然后从服务器端我们必须使用标头和正确的mime类型。
如果可以通过ajax传输文件并让用户决定是打开,保存还是关闭它,那么我想知道如何:)
答案 0 :(得分:0)
live()
,请使用on()
。另外,您需要防止默认的浏览器行为[即在事件处理程序中使用event.preventDefault()
跟随href]。
$(document).on('click', '.link', function(event){
event.preventDefault();
$.ajax({
type: 'POST',
url: '/ajax/file.php',
data: {
link : $(this).attr('href'),
},
success: function(data){
alert(data);
}
});
});
编辑:原谅我,修复。