2010-03-23 69 views
0

嗨在我的jsp頁面我有一個jquery區域,它將值傳遞給一個servlet,該servlet返回dropdownlist的輸出。那麼jsp文件會進行一些更新,因此在重新填充時,下拉列表中的某些值不應存在。但它沒有發生。我jQuery代碼是jquery正在從數據庫中獲取舊值

$("#cbocode").change(function(){ 
    var cdid=$("#cbocode option:selected"); 
    $.get("trnDC?caseNo=20&cdid="+cdid.text(),function(data){ 
     $("#divinstrument").html(data); 
    }) 

和servlet代碼是

case 20:{ //jquery call 
        String cdid=(String) request.getParameter("cdid"); 
        Statement st = con.createStatement(); 
        ResultSet rs = st.executeQuery("select instrumentid from mstinstrument where codeid='" + cdid + "' and rec_Status='A' and statusid='U' and Agentid='METLAB'"); 
     if (!rs.wasNull()){ 
        //List data=new ArrayList(); 
        String v="<select id=cboinstr>"; 
        while (rs.next()) 
        { 
        // data.add(rs.getString("vend_code")); 
        v += "<option>" + rs.getString("instrumentid").toString() + "</option>"; 
        } 
        v+="</select>"; 
        response.setContentType("text/html"); 
        PrintWriter out = response.getWriter(); 
        out.print(v); 
        } 
        else{ 
         response.setContentType("text/html"); 
        PrintWriter out = response.getWriter(); 
        out.print("no data found"); 
        } 

我在哪裏丟失的???

回答

1

默認GET請求被緩存。您可以使用@kgiannakakis建議的內容並設置緩存:false。我不是100%,但我認爲Internet Explorer可能會遇到該方法的問題?

要做到這一點,你需要使用$不用彷徨使用$阿賈克斯,喜歡變化:

$.ajax({ 
    type: 'GET'  
    url: "trnDC?caseNo=20&cdid="+cdid.text(), 
    success: function(data){ 
       $("#divinstrument").html(data); 
    }, 
    cache: false 
}); 

有2種,我能想到的其他方式來避開你的問題:

更改爲發佈。

$.post("trnDC?caseNo=20&cdid="+cdid.text(),function(data){ 
     $("#divinstrument").html(data); 
    }) 

添加一個「假」的參數,將永遠是不同的,像Java腳本 Date.getDate()

+0

感謝老闆,現在是區加工 – sansknwoledge 2010-03-23 10:34:48

2

get請求被瀏覽器緩存。使用cache: falseajax方法。

相反的:

$.get("trnDC?caseNo=20&cdid="+cdid.text(),function(data){ 
     $("#divinstrument").html(data); 
    }) 

用途:

$.ajax({url: "trnDC?caseNo=20&cdid="+cdid.text(), 
     cache: false, 
     success: function(data){ 
        $("#divinstrument").html(data); 
       } 
     }); 
+0

遺憾的是這樣的無知ü可以指出在我所使用的語句 – sansknwoledge 2010-03-23 09:28:11