如何在ajax post请求中添加更多参数

时间:2012-08-26 06:51:43

标签: jquery ajax post

我能够使用ajax GET方法将数据发布到php页面,但是我在向POST METHOD添加更多参数时遇到了问题。以下是我使用的代码。因为我能够从php脚本得到响应:

    if(XMLHttpRequestObject) {
   XMLHttpRequestObject.open("POST", url,true);XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 XMLHttpRequestObject.onreadystatechange = function()
 {
    document.getElementById('statuses').innerHTML = msg1;
   if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
var content = XMLHttpRequestObject.responseText;
 $(document).ready(function(){
    $('#statuses').text(content);
    });
}
 }
XMLHttpRequestObject.send("id=" + id);
}

现在假设我决定使用另一个代码来发送使用jquery更容易的数据,我如何从php脚本获得响应?下面是第二个代码:

     $(document).ready(function(){ 
    // get values
     cc = $('#ft').attr('value');
     cop = $('#copt').attr('value');

     // send to processing PHP script
     $.ajax({
        type: "GET",
        cache: false,
        url: "processor.php",
        data: "cctotal="+ cc +"&coptotal="+ cop + "&id="+ id + "&get=" + 'update',
        success: function(){
            $('#processing').fadeIn(function(){
            var content = 'Customer Account Updated !' ;
            $('#statuses').text(content);
            });
        }
            });

     });

2 个答案:

答案 0 :(得分:1)

ajax的默认contentType是'application/x-www-form-urlencoded; charset=UTF-8',因此你不需要设置它,而你在jQuery中调用的普通JS XMLHttpRequestObject调用就像:

$(function() {
    $.post(url, , function(content) {
        $('#statuses').html(content);
    });
});

要使用一些添加的数据执行POST请求,您可以执行类似

的操作
$(function(){ 
    cc = $('#ft').val();
    cop = $('#copt').val();

    $.ajax({
         type: 'POST',
         url: url,
         cache: false,
         data: {cctotal: cc, coptotal: cop, id: id, get: 'update'}
    }).done(function(content) {
         $('#processing').fadeIn(function(){
             $('#statuses').text('Customer Account Updated !');
         });
    });
});
​

您将在服务器上的POST超全局中访问该数据。例如在PHP中它将是:

$cc  = $_POST['cctotal'];
$cop = $_POST['coptotal'];
$id  = $_POST['id'];
$get = $_POST['get'];

答案 1 :(得分:0)

//Try this

 $(document).ready(function(){ 
    // get values
     cc = $('#ft').attr('value');
     cop = $('#copt').attr('value');

     // send to processing PHP script
     $.ajax({
        type: "GET",
        cache: false,
        url: "processor.php",
        data: "cctotal="+ cc +"&coptotal="+ cop + "&id="+ id + "&get=" + 'update',
        success: function(data){
            $('#processing').fadeIn(function(){
            var content = 'Customer Account Updated !' ;
            $('#statuses').text(content);
            });
            alert(data) //server response here
        }
            });

     });