如何将post和get方法与jquery结合起来?

时间:2014-09-25 08:08:19

标签: javascript jquery ajax

我有两个jquery函数get和post。

我首先从get方法检索数据,然后使用post方法发布我的数据。

我想知道如何结合这两个功能

POST方法

var url = '/api/sample?id=' + id ;
AJAXnotification("Saving...", 'info');
$.post( url , form)
.done(function(){
    AJAXnotification("Saved", 'success', 5000); 
})
.fail(function() {
    AJAXnotification("Cannot save", 'error');
});

获取方法

AJAXnotification(“正在加载......”,“信息”);

var fail_callback = function() {
    AJAXnotification("Cannot load ", 'error');
}

$.get('/api/samples', {
    'id'      : id,
    'merge'   : 'departures',
    'departures.from_date': from_date,
    'departures.to_date'  : to_date
}).done(function( tours ){
    AJAXnotification(" loaded", 'success', 5000);
});

3 个答案:

答案 0 :(得分:1)

只需将$.post嵌入.done的{​​{1}}函数中,$.get会在$.post返回后触发,您就能够访问所有返回的数据:

$.get

答案 1 :(得分:1)

您可以将POST操作添加到GET操作的.done回调中。

$.get('/api/samples', {
    ...
 }).done(function( tours ){
   $.post( url , form)
      .done(function(){
          ...
        })
      .fail(function() {
         ...
       });
 });

答案 2 :(得分:1)

你可以这样做:

    <form id="myForm">
        <input type="text" name="nameGet" id="nameGet" /> 
        <input type="text" name="namePost" id="namePost" /> 
        <input onclick="submitGetPostForm();" type="button" name="submitBtm" id="submitBtm" value="submit" /> 
    </form>

    <script>

        function submitGetPostForm()
        {
            nameGet=$('#nameGet').val();
            namePost=$('#namePost').val();
            $.ajax({
                    url: "testPage.php?nameGet="+nameGet,
                    type: "post",               
                    data: {namePost:namePost},
                    success: function(response_msg){                        

                        response_msg=$.trim(response_msg);
                        alert(response_msg);        

                    },
                    error:function(){                   

                        alert("Failure, some problem");                                             
                    }
            });                 
        }

    </script>