如何单击将执行但不重定向的链接
How to click a link that will execute but not redirect.
我在mySQL数据库中有几个产品,它们的链接正在我的脚本中使用$producturl检索。这些网址实际上将产品添加到购物车(http://www.example.com/cart/?add-to-cart=1127)。我正在尝试创建一个脚本,允许用户将产品添加到购物车,但不重定向它们,只需执行链接,以便用户保持在同一页面上。
我正在使用 preventDefault 和 stopPropgation,但它不起作用。警报显示,但链接本身未执行,当我稍后查看购物车时,产品不存在。有什么帮助吗?
<?php $producturl = ProductURL::find(array('Product'=>$tube1->Tube1));
if($producturl[0]->URL!=NULL){
echo '<span id="shop">Add Cart NoRedirect</span>';
}
?>
<script type="text/javascript">
$(document).on('click', '#shop', function (event) {
$.post( '<?php echo $producturl[0]->URL; ?>' );
event.preventDefault();
event.stopPropagation();
alert('Product has been added to cart');
});
</script>
您的 HTML 锚链接:
<a id='link1' href="http://www.google.com">Link</a>
需要 jQuery JS(不要忘记把它放在 DOM 就绪函数中):
// Act on clicks to a elements
$("#link1").on('click', function(e) {
// prevent the default action, in this case the following of a link
e.preventDefault();
// capture the href attribute of the a element
var url = $(this).attr('href');
// perform a get request using ajax to the captured href value
$.get(url, function() {
// success
});
});
这演示了实现函数所需的所有原则。
有问题的页面和 URL POSTed 必须位于同一子域中,或者必须在服务器上适当启用跨域资源共享,否则请求将因跨域限制而失败。
尝试:
'<a href="#" id="shop">Add Cart NoRedirect</a>'
或
'<a href="javascript: return false;" id="shop">Add Cart NoRedirect</a>'
您可以使用图像、按钮、div 或装饰为链接而不是链接的文本。
'<a href="javascript: void(0);" id="shop">Add Cart NoRedirect</a>'
相关文章:
- ng视图外的链接重定向到ng视图内的页面
- 通过链接重定向不;我不在jstree中工作
- 重定向到父窗口中的链接
- 将重定向URL链接添加到JS函数
- 如何在新选项卡中打开链接以及在当前选项卡中重定向
- 移动站点重定向与完整的站点链接
- 将网页上的链接重定向到javascript函数
- 如何在eonasdan Bootstrap 3 Datepicker上重置链接选取器的日期范围
- 使用java和html基于当前用户创建重定向链接
- 将元素作为对象返回的角度定向链接方法
- 如何使用post方法创建重定向链接
- 有什么方法可以绑定'任何'通过身份验证脚本重定向(链接/刷新等)
- 引导问题,弹出窗口,需要重定向链接时点击
- 如何隐藏实际链接,但不提醒联盟链接来自重定向链接
- 如何用js和php创建一个动态重定向链接
- 根据定向链接预填充重力表单下拉列表
- 是否可以使用JavaScript获取客户端上给定链接的重定向链中的所有URL
- 如何在鼠标悬停时显示中间重定向链接的真实目标
- Android应用程序.从Android手机浏览器重定向链接
- 获取重定向链接的XmlhttpRequest