A community in which webmasters can ask for help with topics such as PHP coding , MySQL , IT jobs, web design, IT security.
Current location:homephp forumphp talk in 2008 yearajax php variables in javascript - page 1
User InfoPosts
ajax php variables in javascript#1
I have the below code, which was previously working fine:

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.random();
update(layer, url);
}


function updateByQuery(layer, query) {
url = "get_records.php?cmd=GetRecordSet&query="+query+"&sid="+Math.random();
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();
}


The part that is commeneted out was working fine in a previus version, in that javascript was replacing row2['ARTICLE_DESC'], a php variable with the contents of the variable. This javascript file is included from a script tag in a php file, and always worked fine. I have changed something recently however, I am not sure what the specific thing was, butnow I get these errors, from firebug:

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();
}


unterminated string literal on line 57 and the updateByQuery is not defined.

I have no idea why I get either of those errors, and why updateByPk does not throw an error. I am even more confused as to what article_Desc is being expanded to and how. This happens on the index.php, which has a link to call updateByQuery, which would load a section via ajax which would have a link to updateByPk, which would display the final section, which would have a link to makewindows(), where article_Desc would relate to the relevant $pk

This was all working fine, and I can not find out why it no longer is.

would it help if I were to paste the php files somewhere?

edit.

i do not understand why this is happening, but have tried to modified the function so it takes a paramter.

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


in conjunction with thse two snippets of php

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


and

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

posted date: 2008-12-16 08:31:00


Re: ajax php variables in javascript#2
I had made out the solution of this problem. click to view my topic...

hope that hepls.

posted date: 2008-12-16 08:31:01


Re: ajax php variables in javascript#3
Everything indicates the problem is in your PHP file. The notice you are getting is from PHP and not from JavaScript as you may be assuming.<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");So the problem is in here:<?php $out = htmlspecialchars(json_encode($row2['ARTICLE_DESC']), ENT_QUOTES); echo("'$out'"); ?>;The $row2 array is not defined, so $row2['ARTICLE_DESC'] doesn't exist. You should verify from where it should come from because I couldn't find it in the code you provided.

posted date: 2008-12-19 19:52:00


Re: ajax php variables in javascript#4
This is the correct answer.

posted date: 2008-12-19 23:38:00


Re: ajax php variables in javascript#5
If you think my answer is right, please validate it. Thanks ;)

posted date: 2009-01-08 11:06:00


select page: « 1 »
Copyright ©2008-2017 www.momige.com, all rights reserved.