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

时间:2014-01-06 12:36:59

标签: javascript jquery ajax

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

page1.html:

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

page2.html

<div id='returnvalue'>AAA</div>
<script>
  var cond = true;
  if(cond){
    document.getElementById("returnvalue").innerHTML = "BBB";
  }
</script>

我的提醒打印“AAA”。为什么呢?

就像第二页中的javascript没有被执行一样,我只收到页面的来源,而不是更改后的页面内容。

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

非常感谢。

2 个答案:

答案 0 :(得分:3)

我认为这应该做你想要的:

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

答案 1 :(得分:0)

在page2中编写一个包含脚本的函数(在文档就绪函数上)。 我想,你没有正确使用Ajax响应

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