客户端无法获取服务器端返回的json数据?

时间:2022-12-02 09:55:15
从服务器端打印的log中可以看出已经返回了json数据(log见二楼),
但是在Firefox中用Firebug调试,发现得到的字符串为空,
dojo.fromJson(xhr.responseText);  //其中xhr.responseText为空

劳驾各位大牛,给些建议,我应该检查哪些地方?
感谢感谢......,
我只有78分了,全给了

7 个解决方案

#1


服务器端json打印log, 其中json字段太长,我手动删除了一大段,json格式无错。
2011-08-29 10:58:48,006 ["http-bio-8443"-exec-18] DEBUG org.springframework.web.servlet.view.JstlView - Rendering view with name 'jsonView' with model {jsonObj={"breakdowns":[{"total":0,"id":1,"layerDepth":0,"analysisData":[],........,"dataStartTime":1314381900,"isMaskingApplied":true,"minIntervalLength":60,"localTimeZone":6000}} and static attributes {}
2011-08-29 10:58:48,006 ["http-bio-8443"-exec-18] DEBUG org.springframework.web.servlet.view.JstlView - Added model object 'jsonObj' of type [net.sf.json.JSONObject] to request in view with name 'jsonView'
2011-08-29 10:58:48,007 ["http-bio-8443"-exec-18] DEBUG org.springframework.web.servlet.view.JstlView - Forwarded to resource [/WEB-INF/jsps/jsonView.jsp] in InternalResourceView 'jsonView'
2011-08-29 10:58:48,008 ["http-bio-8443"-exec-18] DEBUG org.springframework.web.servlet.DispatcherServlet - Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@14aaba8
2011-08-29 10:58:48,008 ["http-bio-8443"-exec-18] DEBUG org.springframework.web.servlet.DispatcherServlet - Successfully completed request

#2


ajax  xhr封装的有问题 

#3


同意楼上看法

#4


粘客户端的代码来看看才会知道。应该是你客户端的代码的问题。

#5


引用 4 楼 licip 的回复:
粘客户端的代码来看看才会知道。应该是你客户端的代码的问题。

客户端那部分的代码,能详细一点吗?
谢谢!

#6


服务器端代码是这么写的,大家看一下有没问题?
public void render(Map model, HttpServletRequest request,
HttpServletResponse response) throws Exception {

JSON jsonObj= (JSON)model.get("jsonObj");
if (jsonObj != null)
{
jsonObj.write(response.getWriter());  
}
else
{
JSONObject errObj = new JSONObject();
JSONObject errDetails = new JSONObject();
errDetails.put("message", "Server failed to provide data");
errObj.put("error", errDetails);
errObj.write(response.getWriter());
}

response.flushBuffer();
}

#7


回退tomcat到5.0,问题解决,谢谢各位的答复

#1


服务器端json打印log, 其中json字段太长,我手动删除了一大段,json格式无错。
2011-08-29 10:58:48,006 ["http-bio-8443"-exec-18] DEBUG org.springframework.web.servlet.view.JstlView - Rendering view with name 'jsonView' with model {jsonObj={"breakdowns":[{"total":0,"id":1,"layerDepth":0,"analysisData":[],........,"dataStartTime":1314381900,"isMaskingApplied":true,"minIntervalLength":60,"localTimeZone":6000}} and static attributes {}
2011-08-29 10:58:48,006 ["http-bio-8443"-exec-18] DEBUG org.springframework.web.servlet.view.JstlView - Added model object 'jsonObj' of type [net.sf.json.JSONObject] to request in view with name 'jsonView'
2011-08-29 10:58:48,007 ["http-bio-8443"-exec-18] DEBUG org.springframework.web.servlet.view.JstlView - Forwarded to resource [/WEB-INF/jsps/jsonView.jsp] in InternalResourceView 'jsonView'
2011-08-29 10:58:48,008 ["http-bio-8443"-exec-18] DEBUG org.springframework.web.servlet.DispatcherServlet - Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@14aaba8
2011-08-29 10:58:48,008 ["http-bio-8443"-exec-18] DEBUG org.springframework.web.servlet.DispatcherServlet - Successfully completed request

#2


ajax  xhr封装的有问题 

#3


同意楼上看法

#4


粘客户端的代码来看看才会知道。应该是你客户端的代码的问题。

#5


引用 4 楼 licip 的回复:
粘客户端的代码来看看才会知道。应该是你客户端的代码的问题。

客户端那部分的代码,能详细一点吗?
谢谢!

#6


服务器端代码是这么写的,大家看一下有没问题?
public void render(Map model, HttpServletRequest request,
HttpServletResponse response) throws Exception {

JSON jsonObj= (JSON)model.get("jsonObj");
if (jsonObj != null)
{
jsonObj.write(response.getWriter());  
}
else
{
JSONObject errObj = new JSONObject();
JSONObject errDetails = new JSONObject();
errDetails.put("message", "Server failed to provide data");
errObj.put("error", errDetails);
errObj.write(response.getWriter());
}

response.flushBuffer();
}

#7


回退tomcat到5.0,问题解决,谢谢各位的答复