我这边也遇到过这种情况 是jquery版本的问题 一开始用的是 jquery-1.4.1.min.js 后来用的jquery-1.6.2.min.js 可以的 你试试看
解决方案 »
- MyEclipse突然打不开
- Oracle 监听器TNS:listener does not currently know of SID given in connect descripto
- 如何优化ECLIPSE的WEB工程启动速度
- struts2中的权限控制,大家都是怎么实现的
- Action 跳转问题
- appfuse2.02中mvn appfuse:gen -Dentity=modelName 出错
- 能不能帮我看下这个异常应怎么解决?
- 怎样控制struts对<,",>标记的自动转换功能呢?
- 请教一个hibernate多表查询的问题
- 最后20分,倾家荡产! 再不解决就连工作都没了 && BCEL的一个小问题
- 图片显示问题
- 面试时候 遇见的一个公司的面试题目 求高手解答
大侠们 救命啊
中JSON改为小写呢
List<Project> list=applicationService.getProjectName();
Iterator<Project> iterator = list.iterator();
StringBuffer jsonStr = new StringBuffer();
while (iterator.hasNext()) {
Project project = iterator.next();
jsonStr.append("{\"id\":\"").append(project.getId())
.append("\",\"name\":\"").append(project.getName())
.append("\"}");
if (iterator.hasNext())
jsonStr.append(",");
}
response.setContentType("application/json;charset=UTF-8");
response.getWriter().write("[" + jsonstr + "]");
return null;
放心 每个回答的我都会给分 一会加分
你这方法我也试了 还是到error方法
顺便问一下 怎么用火狐的看返回的信息? 我也用了firebug 但是不知道看哪里 高手指点一下
dataType:"json"也小写了
response.setContentType("application/json;charset=UTF-8");也设置返回类型是json了
这咋这么难呢 我要是吧dataType设置成text就没问题
谁知道咋看返回的东西的 既然是parsererror 那肯定是返回的不是json格式的
那我write()里面写的是标准的json,也不到success方法 ,为啥啊为啥啊
我这边直接写找个字符串当json接收没问题
你配置错误跳转页面了吧,返回的应该是你的错误跳转页面吧,不然text返回的应该是和json一样的字符串的
第二部 :查看前台是否引入了正确的js文件
第三步 :编写的js是否正确据分析楼主第一步应该没有问题。
用9楼的方式还是不行,还了jquery版本还是不行的话,建议还是用firebug调试,看看到底jsp中jquery方法执行到那里报错了。
另外,把这段error: function(res, text) {
alert("错误信息:" + text);
}
});拿掉。
alert("错误信息:" + text +aa);
}
看看aa打印出来是什么,这个里面的信息才是你的准确错误信息,text只是错误状态
没定义? 这是为啥?返回的值怎么没定义呢 我在那里response.getWriter().write("{\"result\":\"true\", \"msg\":\"删除成功\"}"); write了
"from User");
Map hashMap = new HashMap();
hashMap.put("success", true); hashMap.put("totalProperty", list.size());
List root = list;
JSONArray ja = JSONArray.fromObject(root); hashMap.put("root", ja);
JSONObject jo = JSONObject.fromObject(hashMap); try {
System.out.println(jo);
response.getWriter().print(jo);
} catch (IOException e) {
e.printStackTrace();
}你试试这种格式
首先
ajax别用post提交
用get其次你考虑给ajax加同步锁
async:false,
我在火狐上设置个断点 图在上面 发现到这success后不进去 到另一个scuuess()没有参数的这里跳了
看来问题很清楚了,没有返回来值 但是问题也就在这 我就算在action里write的是大家说的标准的json,竟然也不行,JSONObject jo = JSONObject.fromObject(hashMap);这句话打印出来就是标准的json格式的
还有其他的原因吗?
打印出来的是这些 list里我放的是project对象,值有好多 是不是因为长度的问题呢 因为数据有500条(id,name)但是也不对呀 我就放一个
("{\"result\":\"true\", \"msg\":\"删除成功\"}");这也不到success
然后再hashMap.put("这里是你的list");
然后再JSONObject jo = JSONObject.fromObject(hashMap)
最后 response.getWriter().print(jo);看看
public void findBranchorg() {
Company company = new Company();
List<Company> companyList = service.findBranchorg(company);
JSONArray json = JSONArray.fromObject( companyList);
HttpServletResponse response =ServletActionContext.getResponse();
response.setCharacterEncoding("utf-8");
try {
response.getWriter().print(json);
} catch (IOException e) {
e.printStackTrace();
}
} $.ajax({
type:"post",
data:{idBranchorg:idBrachorg},
url:"../sVal.action",
dataType:"json",
success:function(sValJson ){
$("#userCode").val(sValJson[0].sVal);
},
error:function(){
alert("error!");
}
});
那url改成"http://localhost:8080/FBTrack_PMO/transfer/getProj!findBranchorg.fb",我试试能不能进自定义的方法
json里就写一简单的json格式的字段
以前我在做项目的时候也碰到过这个问题,因为当时赶的比较急,所以把一个json分开返回了、
$("#brachOrg").change(function(){
$("#subOrg").empty();
$("#Org").empty();
var str="<option>全部</option>";
$("#Org").append(str);
var idBrachorg =$("#brachOrg").val();
findsuborg(idBrachorg);
findsVal(idBrachorg);
});类似这种!
也不用操作json数据了 既然到后台了放request里不行吗?
再页面用<s:property >获取那list
Map result = new HashMap();
result.put("success", true);
result.put("list", list);
JSONObject json = JSONObject.fromObject(result);
response.getWriter().write(json);
拿去试试 有问题加我Q 632167558