jquery异步post,返回Html,返回的html里的jquery失效,怎么解决。
发布网友
发布时间:2024-02-24 02:31
我来回答
共5个回答
热心网友
时间:2024-12-02 14:06
将HTML和JS分开加载,写一个全局的方法,在获取html后查找其中的脚本文件重新加载
如:获取HTML并加载后
可以用以下方式加载JS
var _obj = ...;// 这里是你加载html的对象,没用jQuery
var scriptTags = _obj.getElementsByTagName("script");
for (var i = 0; i < scriptTags.length; i ++){
if(scriptTags[i].src == null || scriptTags[i].src == "")
new Funtion(scriptTags.innerHTML)();
else{
var s = document.createElement("script");
s.src = scriptTags[i].src;
document.body.appendChild(s);
}
}
这样,所有的HTML中内嵌的js就都能执行了
热心网友
时间:2024-12-02 14:07
一般都不把jquery写在返回的html里,一是jq分离慢,容易出错,二是没啥实在意义。
要么就写在当前,要么就重新getScript,再post
热心网友
时间:2024-12-02 14:07
把返回的html里的js代码写在post回调函数里面
热心网友
时间:2024-12-02 14:08
POST方法有没有忘记加html表头?
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
还有传值是否写在send()里?
xmlhttp.send("fname=Bill&lname=Gates");
热心网友
时间:2024-12-02 14:08
返回的是你后台处理后返回的JSON字符串,jquery对象失效 可能是你语法有错误,而且你补粘贴代码我们都是猜测