ajax返回不能执行JS,搜了百度好多都没能解决,只能向高手请教,谢谢了!
程序员文章站
2022-04-29 12:29:34
...
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(''); 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?先谢谢了!
回复讨论(解决方案)
执行顺序现在应该是先执行完静态页面的js 才ajax请求 所以没有效果 可以在js里加个延时什么的 我乱猜的 错了不要怪我
通过 .innerHTML 传入的 html 没有经过文档分析器,所以其中的 script 标记被视为普通 html 标记,没有显示也不会执行
通过 ajax 获取的 js 代码,要么用 eval 执行,要么以 script 节点添加到文档流中
用JQ吧,$.load()
通过 .innerHTML 传入的 html 没有经过文档分析器,所以其中的 script 标记被视为普通 html 标记,没有显示也不会执行
通过 ajax 获取的 js 代码,要么用 eval 执行,要么以 script 节点添加到文档流中
是的,就是不懂具体怎么写,能举个例子吗?谢谢!