2010-07-13 28 views
2

我想加載只是我的文檔的一部分,我不得不使用LOAD函數因此,所以我試過這個函數。但我有一個問題,我想設置此函數的方法POST.i閱讀jquery手動,該函數默認使用GET方法,但如果您的數據是一個對象,它將使用POST方法。我不知道如何做到這一點?我的意思是使用數據列表中的對象!如何在JQUERY的LOAD函數中使用POST方法?

這裏是我的代碼:

$("#form_next").live("click", function(event){ 

       var str = $("#form").serialize(); 

       $("#form").load("form.php?ajax=y&section=request&cid="+$("#country_id").val(), str, function(response, status, xhr) { 
        alert(response); 
       }); 
       return false;    
     }); 

我該怎麼辦呢?

回答

2

嗯,你其實已經回答了你的問題。

$("#form").load("form.php", { 
    ajax:  y, 
    section: request, 
    cid:  $("#country_id").val(), 
    magicstr: str 
    }, function(response, status, xhr) { 
       alert(response); 
    }); 
+1

沒有朋友你讓我錯了! 我想通過POST方法發送STR,但它並未默認設置! – 2010-07-13 06:38:13

+0

@armin:只需將'str'添加到'data object'中即可。我更新了這篇文章。現在,您只需在數據對象服務器端訪問'magicstr',並且此請求是'POSTED'。 – jAndy 2010-07-13 06:44:01

+0

對不起安迪,我們訪問php代碼中的數據的方式是這樣的: 例如: <?php echo $ _POST ['section']; ?> 是不是? – 2010-07-13 06:46:47

4

你可以做一個簡單的調整在這裏,使用.serializeArray()代替.serialize(),像這樣:

$("#form_next").live("click", function(event){ 
    var obj = $("#form").serializeArray(); 
    $("#form").load("form.php?ajax=y&section=request&cid="+$("#country_id").val(), obj, function(response, status, xhr) { 
    alert(response); 
    }); 
    return false;    
}); 

這觸發了相同的邏輯傳遞數據作爲一個對象(因爲你是,具體的數組),並會導致一個POST而不是你想要的GET。