JavaScript função não responsivos

votos
0

Eu tenho o seguinte código, que é a parte principal do meu aplicativo AJAX pequeno. Eu não estou recebendo nenhum erro, é só que nada acontece. Eu estou supondo que existe uma maneira mais eficiente de fazer o que estou tentando fazer.

Aqui está o código:

var xmlHttp

var layername

function update(layer, part, pk, query)

{

if (part==1)

{

$url  get_auction.php?cmd=GetAuctionData&pk=+pk+&sid=+Math.random()

}

else if (part==2)

{

var url  get_records.php?cmd=GetRecordSet&query=+query+&sid=+Math.random()

}

xmlHttp=GetXmlHttpObject()

if(xmlHttp==null)

{

alert(Your browser is not supported?)

}



xmlHttp.onreadystatechange = function() {

        if(xmlHttp.readyState==4 || xmlHttp.readyState==complete) {

            document.getElementById(layer).innerHTML=xmlHttp.responseText

        } else if (xmlHttp.readyState==1 || xmlHttp.readyState==loading) {

            document.getElementById(layer).innerHTML=loading

        }

    };

xmlHttp.open(GET,url,true)

xmlHttp.send(null)

}

function GetXmlHttpObject()

{

    var xmlHttp=null;

    try

    {

        xmlHttp=new XMLHttpRequest();

    }catch (e)

    {



        try

        {

                xmlHttp =new ActiveXObject(Microsoft.XMLHTTP);

        } 

        catch (e) {}



    }

return xmlHttp;

}

function makewindows(){

child1 = window.open (about:blank);

child1.document.write(json_encode(<?php echo $row2[ARTICLE_DESC]; ?>));

child1.document.close(); 

}

e um exemplo de como eu estou chamando a função de php

onclick=update(\'Layer3\',\'2\','.$pk.'\',\'0\',)>'

pk ou consulta nunca vai ser passado ao mesmo tempo, apenas um deles nunca vai ser passado.

edit: Eu também estou querendo saber se ele faria mais sentido para os makeWindows função para tirar um parâmetro, ou ficar como está. Há vantagens e desvantagens de cada abordagem?

Publicado 10/12/2008 em 13:15
fonte usuário
Em outras línguas...                            


3 respostas

votos
1

Eu verificar o HTML do PHP está gerando. Assumindo $ pk é uma string que parece que você está perdendo uma cotação de abertura. Tente isto:

onclick="update(\'Layer3\',\'2\',\''.$pk.'\',\'0\',)">
Respondeu 10/12/2008 em 13:50
fonte usuário

votos
0

json_encodeé uma função PHP , e, portanto, é necessário modificar essa linha especial assim:

child1.document.write(<?php echo json_encode($row2["ARTICLE_DESC"]); ?>);
Respondeu 10/12/2008 em 15:39
fonte usuário

votos
1

Parece que você pode ter alguns erros de javascript:

if (part=="1")
{
   $url  "get_auction.php?cmd=GetAuctionData&pk="+pk+"&sid="+Math.random()
}
else if (part=="2")
{
   var url  "get_records.php?cmd=GetRecordSet&query="+query+"&sid="+Math.random()
}

Use Firefox e abra o console javascript para obter os erros de javascript, em seguida, tentar corrigir as linhas que se queixa.

Javascript irá parar de correr assim que encontrar um erro.

Além disso, check-out firebug se você não tiver já. Grande ferramenta!

Respondeu 10/12/2008 em 15:57
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more