如何通过ajax使用php响应javascript脚本

如何通过ajax使用php响应javascript脚本,php,javascript,ajax,Php,Javascript,Ajax,我想在条件为真时回显javascript脚本, 该脚本所在的文件由另一个页面通过ajax调用 由于某种原因,它不会回显…部分。 如果我把一个普通的字符串放在那里,它会工作,但它不会回显javascript $max = $int + 10; if($max >= $num_rows){ $end = "<script>var end=1</script>"; } else { $end = "<script>var end=0&l

我想在条件为真时回显javascript脚本, 该脚本所在的文件由另一个页面通过ajax调用 由于某种原因,它不会回显
部分。 如果我把一个普通的字符串放在那里,它会工作,但它不会回显javascript

$max = $int + 10;
  if($max >= $num_rows){
    $end = "<script>var end=1</script>";
  } else {
    $end = "<script>var end=0</script>";
  }

 echo $end;
$max=$int+10;
如果($max>=$num\u行){
$end=“var end=1”;
}否则{
$end=“var end=0”;
}
echo$end;
阿贾克斯: 函数onScroll(事件){ //检查我们是否在broser窗口底部边缘的100像素范围内。 var closeToBottom=($(窗口).scrollTop()+$(窗口).height()>$(文档).height()-100)

if(靠近底部){
如果(结束==0){
//获取接下来的10个项目;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
//document.getElementById(“tiles”).innerHTML=xmlhttp.responseText;
$('#tiles').append(innerHTML=xmlhttp.responseText);
int=int+10;
//清除以前的布局处理程序。
if(handler)handler.wookmarkClear();
//创建一个新的布局处理程序。
handler=$('#tiles li');
handler.wookmark(选项);
$(函数(){
//选择属性rel以lightbox开头的所有链接
$('a[rel^=lightbox]')。lightbox();
});
FB.XFBML.parse();
}
}
} 
$扩展({
getUrlVars:function(){
var vars=[],散列;
var hashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');
for(var i=0;i
谁能解决这个问题? Thx。使用javascript中的eval()加载javascript。只需检查下面的示例

   var div = document.getElementById("tiles");
   div.innerHTML =xmlhttp.responseText;
   var x = div.getElementsByTagName("script"); 
   for(var i=0;i<x.length;i++)
   {
       eval(x[i].text);
   }
var div=document.getElementById(“tiles”);
div.innerHTML=xmlhttp.responseText;
var x=div.getElementsByTagName(“脚本”);

对于(var i=0;i而言,您必须遍历通过Ajax下载的文档位的DOM树,并使用
eval
手动对其进行评估,因为出于安全原因,浏览器不会自动解析和运行通过远程调用嵌入的JavaScript代码

您可以这样做:

var scripts = domElement.getElementsByTagName("script");
for (var i = 0; i < scripts; i ++) {
    eval(scripts[i].text);
}
var scripts=domeElement.getElementsByTagName(“脚本”);
对于(变量i=0;i
您还应该显示Ajax部分。Php看起来不错。我不认为Ajax部分是问题所在,因为我通过Ajax加载发送的所有其他内容,都是javascript部分没有显示。但不管怎样,这里就是:)它现在可以工作了,但我后来解析了facebook xml,现在不再是了,如果我把facebook解析xml放在第一位,其余的代码就不再工作了……下面是什么意思?您的意思是,在我编写的代码执行后,页面上不再运行JavaScript吗?
$(function(){//选择属性rel以lightbox$开头的所有链接('a[rel^=lightbox]')。lightbox();});                                                            var scripts=domeElement.getElementsByTagName(“脚本”);对于(var i=0;i
这意味着在执行
FB.XFBML.parse()
期间发生JS错误,从而停止代码的执行。因此,您当前的问题(通过Ajax检索的脚本没有执行)已经解决,您现在必须纠正其他错误。欢迎您。如果这个问题对你来说太棘手,我建议你把它贴出来,充分解释一下,然后你也可以让开:)
var scripts = domElement.getElementsByTagName("script");
for (var i = 0; i < scripts; i ++) {
    eval(scripts[i].text);
}