Search code examples
htmlbuttonhyperlinktarget

Link or button that sends a POST but does not navigate


I need an anchor tag or button that sends a POST to a URL but doesn't navigate to anywhere.

This might not comply with current standards, but it works in Chrome.

<!DOCTYPE html>
<iframe style="display:none;" name="some"></iframe>
<form method="POST" target="some">
<button class="btn" style="margin:0px 10px 15px 0px;" type="submit"
    formaction="http://www.example.org:1234/test?P1=X">Test</button>
</form>

Solution

  • In order to post the data without navigating to another page or refreshing the same page, you need to use Ajax.

    From your code, I assume you are using jQuery. In jQuery, there are functions that allow to implement Ajax easily.

    I will add a sample code below for your reference.

    $("#myLink").click(function(event) {
        event.preventDefault();
        var url = "http://example.com"; //The url/uri where you want to post the data to
        var data = {field1: "data1", field2: "data2"}; //Your data
        $.post(url, data, function(data, status) {
            //Data and status from server after posting your data
            console.log(data);
            console.log(status);
        });
    });
    

    And your a tag will remain the same.

    <a href="#" id="myLink">Send</a>