JQuery формы подчинения сервлету

0

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

<script>
    $(document).ready(function(){

          $("#country_id").change(function() {
             var xyz = $("option:selected").val();
              alert(xyz)
            //  var url ="../Retrive_country?stateadd_1=none&countryREF="+xyz;
                $.get("../Retrive_country?stateadd_1=none",
                {countryref : xyz } ,function(data,status){
            alert("Data: " + data + "\nStatus: " + status);
          });

            //$(location).attr('href',url);

        });
        });
        </script>

вот мой jsp

<html>
<body>
<div class="span2 clear">
<select name="country_id" id="country_id">
<option>-select-</option>

<option value="1" id="blabbb">1</option>
<option value="2" id="blabbb">2</option>
<option value="3" id="blabbb">3</option>
</select></div>
</body>
</html>

вот мой сервлет..

String countryref= request.getParameter("countryREF");
String sql1 = "SELECT * FROM state WHERE country_ref="+countryref+" ";
PreparedStatement pst1 = db.getConnection().prepareStatement(sql1);
 ResultSet j = pst1.executeQuery();
while (j.next()) {
                        String state_id = j.getString(1);
                        state = j.getString(2);
                        country_ref = j.getString(3);
                        location.setState(state);
                        location.setState_id(state_id);
                        location.setcountry_ref(country_ref);
                    }
pw.println(countryref);

Что я делаю не так?

Теги:
jsp
servlets

2 ответа

1
Лучший ответ

Ваш код на стороне сервера ожидает в countryREF (с учетом регистра), поэтому вам, вероятно, просто нужно будет изменить данные, переданные в вашем $.get() на { countryREF: xyz }:

<script>
    $(document).ready(function(){
      $("#country_id").change(function() {
         //var xyz = $("option:selected").val();
         var xyz = $(this).val();

         alert(xyz);

         $.get("../Retrive_country?stateadd_1=none", { countryREF: xyz }, function(data,status){
           alert("Data: " + data + "\nStatus: " + status);
         });

      });
    });
</script>
  • 0
    Спасибо, Дженсз, это работает.
0

Из документации jQuery вы можете попробовать этот формат $.get:

$(document).ready(function () {
    $("#country_id").change(function () {
        var xyz = $("option:selected").val();
        $.get("../Retrive_country?stateadd_1=none", {
            countryref: xyz
        })
            .done(function (data) {
            alert("Data Loaded: " + data);
        });
    });
});

ИЛИ:

$(document).ready(function () {
    $("#country_id").change(function () {
        var xyz = $("option:selected").val();
        $.get("../Retrive_country?stateadd_1=none&countryref=" + xyz, function (data) {
            alert("Data Loaded: " + data);

        });
    });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню