Send post-variable with javascript?

2020-07-11 06:42发布

Is it possible to send post-variables with javascript? I want id to be sent with post, not get.

window.location.href="hanteraTaBortAnvandare.php?id=10";

5条回答
贼婆χ
2楼-- · 2020-07-11 06:57

You can use a form and then document.getElementById('id_of_the_form').submit();

The form doesn't need to be wrote as plain HTML: you can create it dinamically:

     function postIt()   {
        form = document.createElement('form');
        form.setAttribute('method', 'POST');
        form.setAttribute('action', 'someURL');
        myvar = document.createElement('input');
        myvar.setAttribute('name', 'somename');
        myvar.setAttribute('type', 'hidden');
        myvar.setAttribute('value', 'somevalue');
        form.appendChild(myvar);
        document.body.appendChild(form);
        form.submit();   
}
查看更多
家丑人穷心不美
3楼-- · 2020-07-11 07:10
做个烂人
4楼-- · 2020-07-11 07:19

The simplest way is to just have a form in your page:

<form method="POST" action="hanteraTaBortAnvandare.php" id="DeleteUserForm">
<input type="hidden" name="id" value="10" />
</form>

Then you just post the form:

document.getElementById("DeleteUserForm").submit();
查看更多
虎瘦雄心在
5楼-- · 2020-07-11 07:21

You can submit form data via JavaScript but not using window.location.href. Changing the URL location is always going to issue a GET.

You'll need to get a reference to your form from the DOM and then issue a submit() call to it.

查看更多
成全新的幸福
6楼-- · 2020-07-11 07:23

You can do it with an Ajax-request (or use hidden forms) - in that case;

MooTools example:

new Request({
    url: 'hanteraTaBortAnvandare.php',
    method: 'post',
    data: {
        'id': '10'
    },
    onComplete: function(response) {
        alert(response);
    }
});

jQuery example:

$.ajax({
    type: 'post',
    url: 'hanteraTaBortAnvandare.php',
    data: 'id=10',
    success: function(response) {
        alert(response);
    }
});

Of course you could do this without external libraries, but they simplify alot!

查看更多
登录 后发表回答