首页 开发指南

2018-06-11 村上桐树470,490

jquery 获取ajax加载的html中部分内容

近在用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文本,应该如何解析

发表回复

游客回答:(6)

  1. Avatar
    kitty23[2018年6月17日下午5:31 ]LV.66
  2. Avatar
    948[2018年6月21日下午7:25 ]LV.66
  3. Avatar
    藏金网[2018年7月2日下午5:00 ]LV.66
  4. Avatar
    爱就爱啦[2018年7月6日上午7:53 ]LV.66
  5. Avatar
    闺房独自乐[2018年7月14日上午7:24 ]LV.66
声明:本站所有主题/文章除标明原创外,均来自网络转载,版权归原作者所有,如果有侵犯到您的权益,请联系本站删除,谢谢!
©www.sbmzenith.com 2013-2024 All Rights Reserved.
豫ICP备15009393号