javascript ajax php değişkenler

1 Cevap php

Daha önce sorunsuz çalışıyordu aşağıdaki kodu var:

var xmlHttp
var layername
var url
function update(layer, url) {
    var xmlHttp=GetXmlHttpObject(); //you have this defined elsewhere

    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";
        }

       //etc
    }

    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}


function updateByPk(layer, pk) {
   url = "get_auction.php?cmd=GetAuctionData&pk="+pk+"&sid="+Math.rveom();
   update(layer, url);
}


function updateByQuery(layer, query) {
   url = "get_records.php?cmd=GetRecordSet&query="+query+"&sid="+Math.rveom();
   update(layer, url);
}

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");
var phpstring = <?php $out = htmlspecialchars(json_encode($row2['ARTICLE_DESC']), ENT_QUOTES); echo("'$out'"); ?>; 
child1.document.write(phpstring); 
//child1.document.write("<?php echo htmlspecialchars(json_encode($row2['ARTICLE_DESC']), ENT_QUOTES); ?>");
child1.document.close(); 
}

Dışarı commeneted bir kısmı bu javascript ROW2 ['ARTICLE_DESC'], değişkenin içeriği ile bir php değişken yerine edilmiş, bir previus versiyonu cezası çalışıyordu. Bu javascript dosyası bir php dosyasında bir komut dosyası etiketi dahil, ve her zaman ince çalıştı. Ben bu hataları almak butnow belirli bir şey kundakçı gelen, ne emin değilim, son zamanlarda ancak şey değişti:

function makewindows(){
    child1 = window.open ("about:blank");
    child1.document.write("<br />
    <b>Notice</b>: Undefined variable: row2 in <b>C:\Programme\EasyPHP 2.0b1\www\records4\fetchlayers.js</b> on line <b>57</b><br />
    null");
    child1.document.close();
    }

hat 57 ve updateByQuery üzerinde değişmez sonlveırılmamış dize tanımlı değil.

Ben bu hatalardan birini almak neden hiçbir fikrim yok, ve neden updateByPk bir hata atmak değil. Ben daha karıştı article_Desc nasıl genişletilmiş ediliyor ve ne kadar duyuyorum. Bu makeWindows bir bağlantı () olurdu son bölümü, article_Desc gösterecek updateByPk bir bağlantı olurdu ajax bir bölümünü yüklemek istiyorsunuz updateByQuery aramak için bir bağlantı vardır index.php, olur İlgili $ pk ilgili olacaktır

Bu, tüm çalışma iyiydi ve neden artık isimli ben bulamıyorum.

Ben bir yerde php dosyaları yapıştırmak olsaydı yardımcı olur?

düzenlemek.

i bu neden oluyor anlamıyorum, ama bir Paramtre alır böylece modifiye işlevine denedim.

function makewindows(html){
child1 = window.open ("about:blank");
child1.document.write(html);
child1.document.close(); 
}

php thse iki parçacıkları ile birlikte

$html = json_encode(htmlspecialchars($row2['ARTICLE_DESC']));

ve

<a href='#' onclick='makewindows(/"".$html."/"); return false;'>Click for full description </a></p>

1 Cevap

Her şey sorun PHP dosyası olduğunu gösterir. Eğer varsayarak olabilir gibi alıyorsanız haber PHP ve JavaScript değil değil.

<b>Notice</b>: Undefined variable: row2 in <b>C:\Programme\EasyPHP 2.0b1\www\records4\fetchlayers.js</b> on line <b>57</b><br />
    null");

Yani sorun burada şöyledir:

<?php $out = htmlspecialchars(json_encode($row2['ARTICLE_DESC']), ENT_QUOTES); echo("'$out'"); ?>;

$row2 dizisi tanımlanmış değildir, yani $row2['ARTICLE_DESC'] yoktur. Bunu ben size sağlanan kodu bulamadım çünkü gelmelidir yerden doğrulamalısınız.