在点击监听器内发布请求而不是重定向到请求的页面

时间:2017-06-29 09:11:48

标签: javascript jquery html

所以在我的html中我有一个元素

<button">Add to Cart</button>

对于此按钮单击功能,我在脚本中的单击侦听器中执行此操作。我的脚本是

<script type="text/javascript">

window.addEventListener('click',function(e)
        {

            e = e || window.event;
            var target = e.target || e.srcElement;
            console.log("value of the element clicked== "+target.innerHTML);
            if(target.innerHTML=="Add to Cart" || target.innerHTML=="Remove From Cart")
            {
              var uris=target.parentNode.parentNode.querySelector("#uris").value;   
              var username=target.parentNode.parentNode.querySelector("#usernames").value;
              console.log("user name=="+username); 
              console.log(target);
              if(target.innerHTML=="Add to Cart")
              {
                console.log("it is comming here");  
                var productid=target.parentNode.parentNode.querySelector("#proid").innerHTML;
                $.post('AddCart1',{product:productid,username:username,uri:uris}, function () {
                });
              } 
              else
              { 
                var productid=target.parentNode.parentNode.querySelector("#proid").value;
                console.log("parent id=="+productid); 
                $.post('RemoveItem',{product:productid,username:username,uri:uris}, function () {
                });
              }
            }   
        }, false);
</script>

所以,当我点击按钮时,我会收到日志&#34;它正在这里#34;。我在数据库中所做的所有更新都反映在我的数据库中。但该页面未被重定向到请求的URL。它保留在同一页面中而不重新加载。有什么问题?

1 个答案:

答案 0 :(得分:2)

您好我能看到的是您没有做任何重定向页面的事情 因此,当您使用$ .post发送请求时,它将返回您从请求的页面回复,并且您将在同一页面上。

check()

你可以在你的$ post请求中使用它来发布请求成功,你可以重定向到其他页面,或者你甚至可以在没有$ .post的情况下重定向。

或者

在包含JQuery和jquery.redirect.min.js插件之后,您可以简单地执行以下操作:

to redirect you can use following methods
// similar behavior as an HTTP redirect
window.location.replace("your url");

// similar behavior as clicking on a link
window.location.href = "your url";  

我也遇到过这可能有用!

$().redirect('your url', {post data in key value pair i.e.'key':'value'});