2010-03-23 6 views
0

привет в моей странице jsp Я имею область jquery, которая передает значения сервлету, который возвращает вывод выпадающего списка. то файл jsp выполняет некоторую модернизацию, поэтому определенные значения, которые находятся в выпадающем списке, не должны присутствовать при повторном заполнении. но этого не происходит. мой JQuery кодjquery получает старые значения из базы данных

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

и код сервлет

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

По умолчанию получают запросы кэшируются. Вы можете использовать то, что предлагает @kgiannakakis, и установить кеш: false. Я не 100%, но я думаю, что Internet Explorer может иметь проблему с этим методом?

Для этого вам необходимо будет изменить с помощью $ .get с помощью $ .ajax, как:

$.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); 
    }) 

Добавить в «ложном» параметр, который всегда будет отличаться, как JavaScripts Date.getDate()

+0

спасибо боссу, что в настоящее время за работой – sansknwoledge

2

запросы передаются браузером. Используйте cache: false с методом ajax.

Вместо:

$.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

Смежные вопросы