Hello to everyone,
I'm starter at Ajax and I've a problem while taking data(xml) from ajax. I used a javascript function named "ajaxFunction" to take data from DB with a parameter. I tested I succesfully take data from DB but can't send back to script.
I followed the instructions from w3schools. (http://www.w3schools.com/Ajax/ajax_responsexml.asp)
Here's my code, I'll be soo happy if someone helps me..
Thanx in advance,
Talha
function ajaxFunction(str)
{
var xmlhttp;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
alert("Your browser does not support XMLHTTP!");
}
// xmlHttpRequest objesi olusturuldu
var url = "callback.jsp" + "?q=" + str;
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
//xmlhttp.onreadystatechange=function()
//{
function stateChanged()
{
if(xmlhttp.readyState==4)
{
// Now I'll set ExtJS textfields values with the data I took from DB
var xmlDoc=xmlhttp.responseXML.documentElement;
Ext.getCmp("noText").setValue(xmlDoc.getElementsByTagName("numara")[0].childNodes[0].nodeValue);
Ext.getCmp("cinsText").setValue(xmlDoc.getElementsByTagName("cinsiyet")[0].childNodes[0].nodeValue);
Ext.getCmp("emailText").setValue(xmlDoc.getElementsByTagName("email")[0].childNodes[0].nodeValue);
}
}
}
Server-side: (jsp)
<%
String ad = request.getParameter("q");
System.out.println("callback.jsp calisti, gelen parametre: " + ad);
int numara=0;
String cinsiyet="default", email="default";
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ogrdb","root", "");
Statement st = con.createStatement();
String sql = "select * from ogr where AdSoyad=\'" + ad + "\'";
ResultSet rs = st.executeQuery(sql);
while(rs.next()) {
numara = rs.getInt("Numara");
cinsiyet = rs.getString("Cinsiyet");
email = rs.getString("Email");
}
System.out.println("Kisi Bilgileri\n-----\n" + numara + " - " + cinsiyet + " - " + email);
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write("<?xml version='1.0' encoding='ISO-8859-1'?>");
response.getWriter().write("<ogr>");
response.getWriter().write("<numara>" + numara + "</numara>");
response.getWriter().write("<cinsiyet>" + cinsiyet + "</cinsiyet>");
response.getWriter().write("<email>" + email + "</email>");
response.getWriter().write("</ogr>");
} catch(Exception e) {
e.printStackTrace();
}
%>