2012-08-22 38 views
0

我想用jquery部分加載一個頁面。.load()似乎總是使用request.POST

我不明白爲什麼row.load()總是發送一個request.POST,當我點擊鏈接時,它應該真的發送了一個request.GET。有什麼我忽略了嗎?

HTML:

<a class="row_edit" href="/sales_item/edit/{{ item.id }}" title="{% trans 'Edit' %}"><i class="icon-pencil"> </i></a> 

的javascript:

$(document).ready(function() { 
    $(".row_edit").click(row_edit); 
}); 

function row_edit() { 
    // e.g. url = '/sales_item/edit/8' 
    var url = $(this).attr("href"); 
    var row = $(this).closest('tr') 
    row.load(
     url + "/", 
     null, 
     function() { 
      $("#save-form").submit(row_save); 
     } 
    ); 
    return false; 
} 
+1

我沒有看到任何數據通過GET *或* POST傳遞。 – KRyan

+3

如果您沒有傳遞數據,請不要傳遞數據。 '$(el).load(url,成功處理程序)' –

+0

@Kevin,這是答案。謝謝。即使空數爲數據......奇怪 – Houman

回答

2

.load()文檔:如果數據被作爲一個對象提供用於

POST方法;否則,假設爲 GET。

只是省略了null arg。

+0

我個人總是發現一些特殊的文檔令人困惑。 – KRyan

+0

省略'null'參數。 – EthanB

+0

doc的語法是'.load(url [,data] [,complete(responseText,textStatus,XMLHttpRequest)])'...與括號中的「data」選項,意味着它是完全可選的。 – EthanB

0

要通過​​GET傳遞信息,只需將數據追加到URL,你通常會(url?key=value&key2=value2等)。你的例子並沒有真正指出會是什麼信息,或者我會給你一個例子。