近在用wordpress开发企业主题的过程中,遇到不少客户都要求用ajax解决提交留言,在查找了很多资料的情况下,终我决定手工改进,以不影响后续系统升级。
在做得过程中,我发现这个form的返回值其实是一个html文本,当留言成功的时候返回当面页面的信息,否则返回一个评论出错的提示文本,我的思路就是判断返回的文本中有没有错误信息,没有的话给出一个成功提示。
ajax 获取另外一个html页面并通过获取其中的部分来插入当前html方式有两种
1,通过<code></code>来包装获取
[plain] view plain copy
$.ajax({
url:url,
type:”GET”,
dataType:”html”,
success:function(result){
console.log(result);
var Obj = $(“<code></code>”).append($(result));//包装数据
//(需要获取的对应块(如class=’aa’)
var $html = $(“.aa”, Obj);
console.log($html.html());
//获取对应块中的内容
var value = $html.html();
//获得内容可以用append插入对应的div中,也可以用html(value)直接添加
}
});
2,通过正则表达式来实现
[plain] view plain copy
$.ajax({
url:url,
type:”GET”,
dataType:”html”,
success:function(result){
console.log(result);
//正则表达式获取body块
var reg = /[\s\S]*<\/body>/g;
var html = reg.exec(result)[0];
//然后用filter来筛选对应块对象,如:class=’aa’
var aa = $(html).filter(“.aa”);
var aahtml = aa.html();
console.log(aahtml);
//获取内容后可以插入当前html中。。。
}
});
以上两种方式亲测过可用
3,可以通过jquery load()方法中添加标签来获取其中部分加载
[plain] view plain copy
//a1为当前页加载的DIV块,.b为加载html中class=b的块
$(“.a1”).load(“userInfo.html .b”);
这个问题可以描述为以下几种方式:
1、如何获取返回值是html文本中的某个标签的值
2、ajax的返回值是Html文本,应该如何解析
第一次看,感觉还挺新鲜!
炎热夏天,闲来无事,拜读博客,消暑解闷!
生活不止眼前的苟且,还有博客和远方的田野!
对
从百度点进来的,学习学习,呵呵!
炎热的夏天,看到这样的博客瞬间清凉了许多!