但是在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
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
客户端那部分的代码,能详细一点吗?
谢谢!
#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();
}
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
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
客户端那部分的代码,能详细一点吗?
谢谢!
#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();
}
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,问题解决,谢谢各位的答复