phpxiebin 2015-05-07 15:11:18 16085次浏览 5条回复 0 0 0
之前群里有人问怎么用a标签转post请求,demo如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<title></title>
		<meta http-equiv="Content-Type" content="Content-Type:text/html;charset=utf8">
		<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.0.min.js"></script>
		<script type="text/javascript">
			$(document).ready(function(){
				$("a.link").on("click",function(){
					$.post($(this).attr('href'),null,function(result){
					    alert(result);
					  });
					//屏蔽A标签原始提交
					return false;
				});
				
			});
		</script>
	</head>
	<body>
	    <a class='link' href="/link">link</a> 
	</body>
</html>
  • 回复于 2015-05-08 10:13 举报

    用ajax的post请求试试

    1 条回复
    回复于 2015-05-08 10:23 回复

    只是实现不一样吧,原理都一样的啊,把$.post改成$.ajax就行了嘛

  • 回复于 2015-05-08 10:13 举报

    给 a 一个 click() 事件,然后 使用 $.post()。

    1 条回复
    回复于 2015-05-08 10:25 回复

    嗯,我是使用选择器去获取元素然后绑定的事件,如果单一元素用click还行,元素多了的话就不必要了

  • 回复于 2015-05-08 10:14 举报

    看起来是事件截获
    意思是,html标签中,dom中每个标签都有相关的事件属性
    a标签就是其中之一,当a标签被点击的时候,默认是链接到其属性href链接中。
    现在因为js的参与,可以让a链接转向或者根本不会跳转到href的指向。
    其实a完成提交,我们常见的一种不会引起歧义的做法是<a href="javascript:;">这里是个a标签</a>
    既然都可以这么写了,那么定然是被js截获了。所以href里面写什么都无关紧要了。
    另外一个例子是表单的提交,你懂的。
    回答完毕。另外这篇文章要给个赞。前端人员是必须要知道这个的。
    谢!鬼一浪人————20150508

    1 条回复
    回复于 2015-05-08 14:20 回复

    嗯,完完全全就是事件捕捉截获

  • 回复于 2015-05-08 10:51 举报

    分享光荣 分享伟大 分享促发展

  • 回复于 2015-05-12 09:46 举报

    有必要吗 这也不一定要A标签啊 任何标签都是可以的

    1 条回复
    回复于 2015-05-12 10:09 回复

    是群里有人问A标签怎么转成POST请求我是写个demo给他看

您需要登录后才可以回复。登录 | 立即注册