将php数组传递给父javascript main
我陷入了一些我真的不明白的事情。我得到了一个作为Iframe父级的Javascript页面,Iframe在php中执行它的rutine,然后返回一些html信息、一些变量和一个数组,问题是,如何正确地发送数组,尽可能多地尊重我的代码 JAVASCRIPT:将php数组传递给父javascript main,javascript,php,arrays,iframe,Javascript,Php,Arrays,Iframe,我陷入了一些我真的不明白的事情。我得到了一个作为Iframe父级的Javascript页面,Iframe在php中执行它的rutine,然后返回一些html信息、一些变量和一个数组,问题是,如何正确地发送数组,尽可能多地尊重我的代码 JAVASCRIPT: function showPlaceFrame(user_id,page_id){ var number = user_id; var locationId = page_id; var iFrameOF = document.c
function showPlaceFrame(user_id,page_id){
var number = user_id;
var locationId = page_id;
var iFrameOF = document.createElement('iframe');
iFrameOF.id = 'locationFrame';
iFrameOF.src = '/php_fyles/openPlace.php?user_id='+number+'&page_id='+locationId;
iFrameOF.style.float = 'top';
iFrameOF.frameBorder='0';
var homeExtendedDiv_ = document.getElementById("homeExtendedDiv");
homeExtendedDiv_.appendChild(iFrameOF);
}
function parsePlaceFrame(){
var locationFrame_ = document.getElementById("locationFrame");
FB.XFBML.parse(locationFrame_);
autoResize("locationFrame");
var iFrameOF = document.getElementById('locationFrame');
var innerDoc = iFrameOF.contentWindow.document;
var result1 = innerDoc.getElementById('result1'); //These are tries
var result2 = innerDoc.getElementById('result2'); //These are tries
alert(result2); //
var ge1 = iFrameOF.contentWindow['result1']; //
var ge2 = iFrameOF.contentWindow['result2']; //
alert(ge1); //These are tries
alert(ge2); //
}
PHP:
我现在得到的是一个“null”值,我确信它在php中不是空的,因为我已经检查过了。有什么想法吗?不要使用
var result=
尝试在那里设置全局变量,使用window['result']=
或parent['result]
设置全局javascript变量。调用parsePlaceFrame
时,您可以立即访问变量,而不是试图从iFrame声明它
编辑:更新
在PHP中,您有以下内容:
echo '<script type="text/javascript" charset="UTF-8">';
echo 'var result1 = ' . json_encode($result) . ';';
echo 'var result2 = ' . json_encode($ret_obj_place) . ';';
echo 'parent.parsePlaceFrame()';
echo '</script>';
应该是
var ge1 = window['result1']; //
var ge2 = window['result2']; //
访问我们用PHP设置的全局变量。代码是什么?我正在努力,但没有成功。。。我是一个木偶!没问题。现在编辑答案。它对您所写的内容有意义,但它会变成“未定义”值。对不起,我和我的问题都很奇怪!!!
echo '<script type="text/javascript" charset="UTF-8">';
echo 'window[\'result1\'] = ' . json_encode($result) . ';';
echo 'window[\'result2\'] = ' . json_encode($ret_obj_place) . ';';
echo 'parent.parsePlaceFrame()';
echo '</script>';
var ge1 = iFrameOF.contentWindow['result1']; //
var ge2 = iFrameOF.contentWindow['result2']; //
var ge1 = window['result1']; //
var ge2 = window['result2']; //