0

根据链接名称我想处理数据并在经过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 传输文件并让用户决定是否打开、保存或关闭它,那么我想知道如何:)

4

1 回答 1

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

});

编辑:原谅我,固定。

于 2013-01-16T17:36:02.353 回答