页面中的Jquery代码通过ajax调用

时间:2010-10-21 20:39:28

标签: jquery ajax

我使用arte for jquery每隔10秒通过ajax调用一个页面。它调用我的一个php页面,php页面查询数据库并吐出html代码。在那个html代码中有一些jquery调用。问题是那些调用不起作用,除非我在被调用的php文件中包含jquery脚本。但这会导致调用php文件的主页上的jquery代码出现问题。基本上我怎样才能在从通过ajax调用的页面返回工作的html中获取jquery?这是调用php文件的代码:

     $(document).ready(function(){
  $.arte({'ajax_url':'ajax_list.php','on_success':update_field}).start();
  $.arte().set('time',10000);
  });

 function update_field(data){
  $("#glist").html(data);
 }

所以ajax_list.php回显了一个html输出。在html输出里面是一些jquery调用。除非我在ajax_list.php中包含jquery库,否则这些都不起作用。但是这会导致同一页面上ajax_list.php之外的其他jquery调用出现问题。有没有办法在主页调用ajax_list.php中包含jquery库并在返回结果中使用jquery代码?希望这是有道理的。

3 个答案:

答案 0 :(得分:0)

除非arte库正在做一些非常深刻的魔法,否则ajax_list.php返回的html中的内联JS永远不会触发。通过JS动态输入DOM的JS不会被评估。

您可以通过绑定.live.delegate处理程序来解决问题,具体取决于内联JS的内容。

答案 1 :(得分:0)

是否可以将返回的函数作为函数写入原始页面,将数据作为包含

的JSON对象返回

HTML->'您的HTML',

DATA =>数组(元素或其他),

使用getJSON,将您的HTML设置为JSON数组中的JSON.HTML对象,并将JSON.DATA对象中的对象发送到您要执行的函数中?

答案 2 :(得分:0)

主要是我的问题是从ajax调用返回的数据中的thickbox代码。我发现解决了我的问题的链接是Thickbox on ajax generation