Rumah  >  Artikel  >  pembangunan bahagian belakang  >  ajax返回不能执行JS,搜了百度好多都没能解决,只能向高手请教,谢谢了!

ajax返回不能执行JS,搜了百度好多都没能解决,只能向高手请教,谢谢了!

WBOY
WBOYasal
2016-06-23 13:28:561270semak imbas


function Comment() {    if(http_request.readyState == 4){       if(http_request.status == 200){			var messagereturn = http_request.responseText;			if(messagereturn==null){                document.getElementById('info_lb').innerHTML="暂无信息"			}else{				var r;				r=messagereturn.split('<!--num-->');				if(r.length!=1){					if(r[0]!=''){						document.getElementById('info_num').innerHTML=r[0];					}					document.getElementById('info_lb').innerHTML=r[1];				}else{					document.getElementById('info_lb').innerHTML=messagereturn;				}			}       }else{	 	  document.getElementById('info_lb').innerHTML="加载中......";       }    }}


打开静态页后自动载入ajax返回的一个内容模板,内容模板是一个瀑布流效果,里面的JS没法执行,把JS放到静态页里也不行,怎么让ajax返回后再执行js?先谢谢了!

<script type="text/javascript" src="jquery.masonry.min.js"></script><script type="text/javascript">$(function(){	var $waterfall = $('#waterfall');		$waterfall.masonry({		columnWidth: 230	});	});</script>


回复讨论(解决方案)

执行顺序现在应该是先执行完静态页面的js  才ajax请求 所以没有效果   可以在js里加个延时什么的  我乱猜的 错了不要怪我

通过 .innerHTML 传入的 html 没有经过文档分析器,所以其中的 script 标记被视为普通 html 标记,没有显示也不会执行

通过 ajax 获取的 js 代码,要么用 eval 执行,要么以 script 节点添加到文档流中

用JQ吧,$.load()

通过 .innerHTML 传入的 html 没有经过文档分析器,所以其中的 script 标记被视为普通 html 标记,没有显示也不会执行

通过 ajax 获取的 js 代码,要么用 eval 执行,要么以 script 节点添加到文档流中




是的,就是不懂具体怎么写,能举个例子吗?谢谢!
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn