Javascript Ajax响应包含页面的源代码,而不是页面的最终内容

Javascript Ajax响应包含页面的源代码,而不是页面的最终内容,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在尝试使用ajax从页面接收值。仅当执行特定javascript代码时才会打印该值 page1.html: $.ajax({ type: "GET", url: "./page2.html", dataType: "text", success : function(data){ alert ( $(data).filter("#returnvalue").html() ); } }) 页面2.html <div id='returnvalu

我正在尝试使用ajax从页面接收值。仅当执行特定javascript代码时才会打印该值

page1.html:

$.ajax({
   type: "GET",
   url: "./page2.html",
   dataType: "text",
   success : function(data){
      alert ( $(data).filter("#returnvalue").html() );
   }
})
页面2.html

<div id='returnvalue'>AAA</div>
<script>
  var cond = true;
  if(cond){
    document.getElementById("returnvalue").innerHTML = "BBB";
  }
</script>
AAA
var cond=真;
如果(秒){
document.getElementById(“returnvalue”).innerHTML=“BBB”;
}
我的警报打印“AAA”。为什么?

这就像第二个页面中的javascript没有执行一样,我只接收页面的源代码,而不是页面更改后的内容

我做错了什么?有人有想法/解决方案吗


非常感谢。

在第2页中编写一个函数,该函数将包含脚本(在document ready函数中)。 我认为,您没有正确使用Ajax响应

success : function(data)
{
  $("#returnvalue").html(data);
}

我认为这应该满足您的要求:

success : function(data){
    $("#somediv").html(data); // load the data into the DOM and execute scripts
    alert ( $("#returnvalue").html() );
}

无论发生什么情况,AJAX页面中的JavaScript都不会被执行。有关解决方法,请参阅。@Blazemonger谢谢。是否有方法接收执行javascript的响应?page2.html或page2.php,这是您实际尝试的页面。@BinsonelDose他已经编辑了问题以解决该问题。ajax请求不会执行html中的java脚本代码。您可以使用php scrip来更改厄运,这应该是正确的答案。只要脚本标记没有加载到DOM中,它就不会被执行。因此,您必须将其插入DOM并等待执行。这是一个很好的解决方案。非常感谢。我只是试着去实现它,而且似乎奏效了。我只是想知道这段代码是执行两次还是只执行一次,只执行一次。为什么要执行两次?唯一执行它的是
.html(data)
。基本上,在该脚本中,我正在启动一个连接(XMPP服务器),即使我没有检查结果,也会建立连接。使用这个ajax的想法只是为了确认连接成功