在超链接请求上设置HTTP请求正文参数

时间:2017-05-23 17:08:13

标签: javascript jquery html http

有没有办法使用Javascript或JQuery,将参数添加到通过点击锚标记启动的传出HTTP请求?

2 个答案:

答案 0 :(得分:0)

您可以在Javascript或jQuery中使用单击处理程序,防止默认值避免立即重定向,然后访问href属性以添加参数。然后使用window.location重定向用户。

jQuery示例

$('#example').on('click', function(e){
    e.preventDefault();
    var urlString = $(this).attr('href');
    var newURL = urlString + "?query=param";
    window.open(newURL, '_blank');
});

答案 1 :(得分:0)

传递正文内容的点击处理程序可以使用AJAX发布内容 - 它会在请求正文中传递数据。确保数据在请求正文中传递的最简单方法是设置传递给method: "post"的对象的data: …ajax()属性。使用ajax调用,这一切都发生在幕后(即,实际上没有显示页面)。

对于包含锚标记的页面内容,例如

<a id='link' href='requestecho.php'>This is a link</a>

以下jQuery / JavaScript将适用:

function grabLink(event) {
   $.ajax({
      url: event.target.href,
      method: 'post',
//    contentType: 'text/plain',
      data: {body: 'content sent to server'},
      success: function (result) {
         // do what you will with result…
      }
   })
   event.preventDefault();
   return false;
}
$(function () {
   $('#link').click(grabLink)
})

您可以根据需要设置传递给contentType的对象的datadataType和/或ajax()属性。