调用ajax并将href值传递给php脚本

时间:2013-01-16 17:31:31

标签: jquery html5

根据链接名称,我想处理数据并在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);
            }
        });
});

DevTools Screenshot

非常感谢。

更新:

我这样做的原因是根据用户的选择从网络服务器获取数据(文件),但我意识到使用这种技术无法实现这一点。最好的方法是使用<a href="/download.php?file=myfile&token=asdasdlkjsd" page="_blank">file</a>

然后从服务器端我们必须使用标头和正确的mime类型。

如果可以通过ajax传输文件并让用户决定是打开,保存还是关闭它,那么我想知道如何:)

1 个答案:

答案 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);
          }
      });

});
编辑:原谅我,修复。