Foi o q eu falei… eu devolvo uma função em javascript pra fazer isso… Se vc usa o próprio js pra fazer a requisição vai ter q tratar a resposta caso ela for um script… senão não funciona. Faz assim… vou te passar o meu script… olha ai…
Essa função te dá a capacidade de responder scripts para o ajax
function extraiScript(texto) {
//Função para que funcione as tags <script> utilizando o metodo ajax
//Powered by LionSoft do Brasil
var ini, pos_src, fim, codigo;
var objScript = null;
ini = texto.indexOf('<script', 0);
while (ini!=-1){
objScript = document.createElement("script");
pos_src = texto.indexOf(' src', ini)
ini = texto.indexOf('>', ini) + 1;
if (pos_src < ini && pos_src >=0) {
ini = pos_src + 4;
fim = texto.indexOf('.', ini)+4;
codigo = texto.substring(ini,fim);
codigo = codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">","");
objScript.src = codigo;
} else {
fim = texto.indexOf('</script>', ini)
codigo = texto.substring(ini,fim);
objScript.text = codigo;
}
document.body.appendChild(objScript);
ini = texto.indexOf('<script', fim);
objScript = null;
}
}
E essa é a requisição em si. Veja que dependendo da flag que eu chamar eu escolho para tratar ou não a resposta… No caso ela trata se for um script (vc tem q ativar o flag)
function ajaxFunction(servlet,gets,dest,flag) {
if(xmlhttp) {
xmlhttp.open("POST","http://localhost:8080/" + servlet,true); //getname will be the servlet name
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) {
var pagina = unescape(xmlhttp.responseText);
document.getElementById(dest).innerHTML=pagina; //Update the HTML Form element
if(flag == 1){
extraiScript(pagina);
}
}
else {
alert("Error during AJAX call. Please try again:" + xmlhttp.statusText);
}
}
}
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
xmlhttp.setRequestHeader("Pragma", "no-cache");
xmlhttp.setRequestHeader("encoding", "ISO-8859-1");
xmlhttp.send(gets); //Posting txtname to Servlet
}