2012-06-14 43 views
0

我正在尋找一些幫助,讓我的JQuery/Ajax調用從Struts動作返回List,並使用s:iterator填充列表元素的DIV。JQuery - Ajax - Struts2 list

我有以下的JQuery

function lookupCustomerJs() { 
     alert("lets start"); 
     $.ajax({ 
      type: "POST", 
      url: "lookupCustomerAjax", 
      data: $('#lookupCustomer').serialize(), 
      success:function(response) { 
       alert("do stuff"); 
       $('div#custList').replaceWith($(response).find("div#custList")); 
      }, 
      failure:function(response) { 
       alert('Ajax call failed'); 
      }, 
      error:function(response) { 
       alert(exception); 
      } 
     }); 
    } 

我有我的網頁內的DIV,然後我想通過這就是所謂

     <div id="custList"> 
          <s:iterator status="stat" value="customerList" var="customer"> 
           <s:param name="custFName" value="%{customer.firstname}" /> 
          </s:iterator> 
         </div> 

而我的行動方法來迭代列表,因爲當我調試時,調試器會檢查代碼。

private List<Customer> customerList; 

public String lookupCustomerAjax() { 

    dummyData(); 

    return SUCCESS; 
} 

這successully叫我的行動方法,但我得到的是「讓我們開始」警報,那麼沒有別的,沒有錯誤,沒有什麼!

所以我猜這只是jQuery/Ajax的成功:function(response){不正確的火,但看不到爲什麼。

+0

你能告訴。控制檯中顯示的錯誤是什麼。嘗試。螢火蟲/ IE開發人員/ Chrome。其中一個常見原因是jquery.js的放置不正確。還把你的函數放在$(document).ready(function(){}); –

回答

0

這可能是「lookupCustomerAjax」是無效的url或文件名。你應該嘗試添加擴展名。

此外,對於故障排除,您應該在繼承中使用console.log(響應)以查看您實際得到的結果。

+0

但是,當我在'debug'中運行我的代碼並將斷路器放在lookupCustomerAjax方法中時,應用程序會遍歷該方法,但它似乎並未放入jQuery的任何成功,失敗或錯誤部分。 – Casper

+0

user1160629,你說「它只是不會陷入任何jQuery的成功,失敗或錯誤部分」,這就是爲什麼我說你需要給它一個有效的URL或文件名。 我在Firefox上測試了這個,如果文件名沒有正確給出,它會失敗,沒有成功或失敗。 給它一個有效的文件名或路徑,你應該看到連續或失敗。 – nolabel