首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让AJAX使用POST而不是GET

如何让AJAX使用POST而不是GET
EN

Stack Overflow用户
提问于 2012-10-08 12:41:06
回答 5查看 426关注 0票数 1

我在这里得到了这个有效的代码:

代码语言:javascript
复制
$(document).ready(function(){
    var ajaxRequest;  // The variable that makes Ajax possible!

    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } catch (e) {
        // Internet Explorer Browsers
        try{
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try{
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }

    $('#response').hide();

    $('#addroom').click(function(){
        var url = "./scripts/addnew_room.php";

        var room_num = document.getElementById('rm_num').value;
        var room_type = document.getElementById('rm_type').value;
        var tosend = "&rm_num="+room_num+"&rm_type="+room_type;

        ajaxRequest.open("POST", url, true);
        ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        ajaxRequest.onreadystatechange = function(){

            if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
                var return_data = ajaxRequest.responseText;
                document.getElementById("response").innerHTML = return_data;    
            }
        }
        ajaxRequest.send(tosend);
        $('#response').show();
        document.getElementById("response").innerHTML = '<img src="./ajax-images/ajax-loader.gif">';
    });
});

谁能告诉我为什么它没有发送变量到POST方法中,即使我设置了POST方法,它仍然使用GET方法并扰乱我的页面!

EN

回答 5

Stack Overflow用户

发布于 2012-10-08 12:42:11

您可以使用下面这样的内容

代码语言:javascript
复制
$.POST("url.com", {name: "John", location: "Boston"}, function(){

})

POST()是一个jquery函数

您也可以使用jquery ajax()函数

代码语言:javascript
复制
$.ajax({
type:"POST",
url:"url.php",
data: { name: "John", location: "Boston" },
}).done(function(data){
// this is very simple to get or post data
$("#response").html(data);
})
票数 3
EN

Stack Overflow用户

发布于 2012-10-08 12:47:09

最干净的方法就是使用jQuery的漂亮的$.post()函数:

代码语言:javascript
复制
$(document).ready(function() {
    $('#response').hide();

    $('#addroom').click(function() {
        $('<img />', {src: 'ajax-images/ajax-loader.gif'}).appendTo('#response');

        $.post({
            url: 'scripts/addnew_room.php',
            data: {
                rm_num: $('#rm_num').val(),
                rm_type: $('#rm_type').val()
            },
            success: function(response) {
                $('#response').html(response);
            }
        });
    });
});
票数 2
EN

Stack Overflow用户

发布于 2012-10-08 12:45:57

或者像这样的东西

代码语言:javascript
复制
ajax = $.ajax({
    type: "POST",
    url: "your_php_page.php",
    data: "a=1&b=2",
    success: function(msg){     
        //success handler
    },
    error: function(msg){
       //error handler
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12775427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档