1

我在这里得到了这个工作代码:

$(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 方法并破坏我的页面!!!

4

5 回答 5

3

你可以使用这样的东西

$.POST("url.com", {name: "John", location: "Boston"}, function(){

})

POST()是一个jquery函数

你也可以使用jqueryajax()函数

$.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);
})
于 2012-10-08T04:42:10.743 回答
2

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

$(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);
            }
        });
    });
});
于 2012-10-08T04:47:08.810 回答
0

或类似的东西

ajax = $.ajax({
    type: "POST",
    url: "your_php_page.php",
    data: "a=1&b=2",
    success: function(msg){     
        //success handler
    },
    error: function(msg){
       //error handler
    }
});
于 2012-10-08T04:45:57.307 回答
0

尝试这个:

function test_form(){
    var cnt = $("#formid").serialize();
    $.ajax({
    method: 'POST',
    url: 'url to your function',
    data: cnt,
    success: function(msg){
        //required code
    }
    });
}
于 2012-10-08T04:53:57.363 回答
0

你也可以用这个

dataValues = "a=1&b=2";
$.post("your_php_page.php", dataValues, function(data){

},"json");

//在你的php文件“your_php_page.php”中

$a = $_POST['a'];

//也可以这样返回json格式的数据

$returnData = array();
echo json_encode($returnData); 
于 2012-10-08T05:34:16.440 回答