2012-01-18 41 views
9

Tôi đang cố gắng tìm hiểu AJAX với JSP và tôi đã viết mã sau đây. Điều này dường như không hoạt động. Vui lòng giúp đỡ:Một AJAX đơn giản với ví dụ JSP

Đây là configuration_page.jsp tôi

<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JSP Page</title> 
    <script type="text/javascript"> 

     function loadXMLDoc() 
     { 
     var xmlhttp; 
     var config=document.getElementById('configselect').value; 
     var url="get_configuration.jsp"; 
     if (window.XMLHttpRequest) 
     { 
      xmlhttp=new XMLHttpRequest(); 
     } 
     else 
     { 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange=function() 
     { 
      if (xmlhttp.readyState==4 && xmlhttp.status==200) 
      { 
       document.getElementById("myDiv").innerHTML=xmlhttp.responseText; 
      } 
     } 

     xmlhttp.open("GET", url, true); 
     xmlhttp.send(); 
} 
</script>   

</head> 

<body> 
    <h2 align="center">Saved Configurations</h2> 
    Choose a configuration to run: 
    <select name="configselect" width="10"> 
    <option selected value="select">select</option> 
    <option value="Config1">config1</option> 
    <option value="Config2">config2</option> 
    <option value="Config3">config3</option> 
    </select> 
    <button type="button" onclick='loadXMLDoc()'> Submit </button> 
    <div id="myDiv"> 
    <h4>Get data here</h4> 
    </div> 
</body> 
</html> 

Đây là get_configuration.jsp của tôi mà tôi đang cố gắng truy cập từ mã AJAX trên:

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 

    </head> 
    <body> 

    <h4>Mee..</h4> 
    </body> 
</html> 
+0

Nếu kết quả của get_configuration.jsp được sử dụng như nội dung của một div, sau đó nó nên không chứa '', ' ',' ' . Nó chỉ nên chứa '

'. Làm cho bạn một ưu tiên, và sử dụng jQuery. –

+0

Cũng đề nghị sử dụng jQuery: nó có cú pháp đơn giản và tính di động của trình duyệt chéo. – Dims

Trả lời

1

Bạn đang gặp lỗi trong tệp "configuration_page.jsp". đây trong tập tin này, chức năng loadXMLDoc() 's dòng số 2 nên được như thế này:

var config=document.getElementsByName('configselect').value; 

vì bạn đã tuyên bố chỉ name thuộc tính trong thẻ <select> của bạn. Vì vậy, bạn sẽ nhận được yếu tố này theo tên.

Sau khi sửa chữa này, nó sẽ chạy mà không có bất kỳ lỗi JavaScript

12

Tôi đã sử dụng để jQuery AJAX thực hiện các yêu cầu AJAX.

Kiểm tra đoạn mã sau:

<html> 
<head> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#call').click(function() 
      { 
       $.ajax({ 
        type: "post", 
        url: "testme", //this is my servlet 
        data: "input=" +$('#ip').val()+"&output="+$('#op').val(), 
        success: function(msg){  
          $('#output').append(msg); 
        } 
       }); 
      }); 

     }); 
    </script> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JSP Page</title> 
</head> 
<body> 
    input:<input id="ip" type="text" name="" value="" /><br></br> 
    output:<input id="op" type="text" name="" value="" /><br></br> 
    <input type="button" value="Call Servlet" name="Call Servlet" id="call"/> 
    <div id="output"></div> 
</body> 

0

loadXMLDoc chức năng JS nên trả về false, nếu không nó sẽ gây ra postback.

Các vấn đề liên quan