2 neoest Neoest 于 2016.05.05 12:55 提问

Ajax返回json串附带html页面元素

大家好!现在我碰到一个问题,在后台传到前台的页面中的json莫名多了一些html元素,导致json无法解析,出现错误,我想问问这种情况有同僚遇到过吗?是怎么解决的吗,谢谢分享,有大神也希望帮忙看看!图片说明,这是后台返回的json串,最上面是我需要的json,下面的是html页面元素,

这是ajax
图片说明

大家帮下忙,小弟感激不尽

18个回答

Royal_lr
Royal_lr   Ds   Rxr 2016.05.05 14:58
已采纳

我知道是从后台跑出来,,如果是struts的话,,可以这样

 <result name="success" type="json">
     <param name="root">result</param>
 </result>

result为action中的成员变量,有get和set方法

Royal_lr
Royal_lr 回复Neoest: 不知道你们后台用的什么框架,,
大约 2 年之前 回复
Neoest
Neoest 按照这个改了,现在没有后面的html元素了,需要点击两次查询才能出来.F12后台显示的是没有请求,
大约 2 年之前 回复
sxchen_csdn
sxchen_csdn   2016.05.29 16:20

想A页面Ajax请求,后台处理完,数据还是返回A页面,按两个步骤修改:

第一步:后台不能做页面跳转, action中处理请求的方法声明为void, 不直接返回数据。

第二步: 处理请求的方法中,把要返回前端的数据 写入响应对象里,就是HttpServletResponse
// HttpServletResponse
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
// 响应内容为Json类型
response.setContentType("application/json; charset=UTF-8");
response.getWriter().write("用来返回前端的 json字符串");

第三点: 你的Ajax请求少了一个参数, dataType:"json"

希望能帮到你!

Neoest
Neoest 谢谢
大约 2 年之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2016.05.05 14:09

你后台跳转的时候,是会跳到一个页面吗

Neoest
Neoest 回复Royal_lr: 小哥有啥思路吗?这个值必须得从后台程序跑出来,如果不用页面跳转的话
大约 2 年之前 回复
Royal_lr
Royal_lr 回复Royal_lr: 那如果是struts的话,没有必要跳到一个页面,,因为你的目的只是传值而已
大约 2 年之前 回复
Royal_lr
Royal_lr 回复Neoest: 这不是struts吗,,你怎么说的jfinal
大约 2 年之前 回复
Neoest
Neoest 是的,处理完成之后会跳到本来的这个页面,我也隐隐约约感觉是这个问题,..大神,看楼下
大约 2 年之前 回复
azraelluck
azraelluck   2016.05.05 14:55

我好像记得struts返回json要在result里面写上type="json"吧

azraelluck
azraelluck http://kyfxbl.iteye.com/blog/1666056 看下这个文章可能对你有帮助
大约 2 年之前 回复
jhfsdfs
jhfsdfs   2016.05.05 13:12

应该是你后台的问题吧

Neoest
Neoest 我后台把randersonJson关闭了,也就说后台啥也不给前台传了,,还是会出来html页面,,求帮忙 看楼下,
大约 2 年之前 回复
Neoest
Neoest   2016.05.05 13:39

public String toDataTableJson(Page page,
ObjectToMapCallback callback, String... args) {
String result = "";
try {
ReturnObject ro = toDataTableJsonObject(page.getResult(),
callback, args);
ro.setRecordsTotal(Integer.parseInt(page.getTotalCount() + ""));
ro.setRecordsFiltered(Integer.parseInt(page.getTotalCount() + ""));
//renderJSON(JSON.toJSONString(ro,SerializerFeature.WriteMapNullValue)); 这句注释掉了,,
} catch (Exception e) {
logger.error(e.getMessage());
result = e.getMessage();
}
return result;
}

Neoest
Neoest   2016.05.05 13:40

图片说明 这是注释掉上面哪句 renderJson之后页面的情况,还是能显示html页面元素

Royal_lr
Royal_lr   Ds   Rxr 2016.05.05 13:49

f12,,看下请求的详细信息

Neoest
Neoest 帮忙看下楼下,谢谢,
大约 2 年之前 回复
Neoest
Neoest   2016.05.05 14:03

图片说明

图片说明
图片说明
图片说明
图片说明

Neoest
Neoest   2016.05.05 14:05

图片说明

这个是后台返回的一切正常,但是到页面就多了一些html参数,求大婶,这个问题卡了我三天了

共18条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ajax无法解析json的错误
和同学一起在做的一个项目,最近要配合另外一个活动,需要做一个相关的子系统。但是今天在用ajax时发现返回的json无法解析。 data是ajaxsuccess时的返回的数据,当我使用alert(data)输出时,发现直接打印了json字符串,这说明把返回的数据当做纯文本来处理了。 后来在Servlet中加了一句response.setContentType("application/json")
springMVC+ajax返回JSON串
一、引言 本文使用springMVC和ajax做的一个小小的demo,实现将JSON对象返回到页面,没有什么技术含量,纯粹是因为最近项目中引入了springMVC框架,作为学习之用,不喜勿喷,欢迎拍砖。 二、入门例子 ①. 建立工程,并导入相应spring jar包和解析json的包fastjson。 ②. 在web.xml文件中配置Spring的核
ajax 拼串放到页面上
$.ajax({ url: dateType: catch: async: success:function(data){ var c3c_div="" $.each(data,function(i){ //-数据循环放到页面上
Ajax异步调用放回JSON类型的数据
function addOption(data,value){ var list = document.getElementById("option"); list.options.length = list.options.length+1; var option = new Option(data,value,false,true); list.options[list.opt
使用ajax请求servlet返回json格式字符串
在使用ajax请求servlet返回json格式的字符串时,需要设置
ajax中接受返回字符串转为json并进行处理(不使用jquery)
var myAjax = new Ajax.Request( url, { method: 'get', parameters: formData, onComplete: function(x){    //提交成功回调  var jsonObj=eval("("+x.responseText+")");//将返回的文本转换为json串处理               //计算出授
php ajax从后台返回json数据,并把数据赋值给自动生成HTML标签
第一,首先把后台读取到的数据转成json数据返回: public function alertinfoAction(){ //发布广告弹出框 $mycontent=M("mytext"); $teuid=$_SESSION['uid']; $dataadv = $mycontent->where('uid='.$teuid)->order('id desc')->select();  
SpringMVC学习—使用ajax返回Json出现乱码解决方法
在使用ajax请求后台访问数据的数据,后台返回的数据是乱码,带??问号的乱码,之前还一直没有遇到过,在这里记录整理一下,贴出解决代码!
【php+smarty】关于php抛json字符串给html js获取问题
1,php后台抛出json字符串 $resultatr['label_rule_condition_value']= [{"must":"0","fieldkey":"1","field":"platform_name","value":"2,3,4","display":"\u59ff\u7f8e\u5802,\u4e09\u53ea\u677e\u9f20,\u51ef\u68b5\u
jQuery中ajax请求后台返回json数据并渲染HTML
html实例table border="0" class="restaurant_food" cellspacing="0" cellpadding="1"> input type="text" name="dishes" value="" class="seek_product" placeholder="请输入菜名"/> button type='button' class="