我定义了一个JSP页面:/json/resources/simpleresponse.jsp
<%@ page language="java"
contentType="application/json; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page isELIgnored = "false" %>
<%@ page import = "com.dongantech.eshop.services.responses.*" %>
<%
Response lastResponse =(Response) request.getAttribute("lastResponse");
%>
{
"type":"${lastResponse.type}",
"messageKey":"${lastResponse.message.key}",
"messageText":"${lastResponse.message.text}"
}
使用Chrome浏览器访问http://localhost:8080/donganshop/product/adder?request=add&code=1001144001&name=WD500G&manufacturer=WD浏览器显示信息:
{
"type":"successful",
"messageKey":"successful",
"messageText":"成功新增商品(1001144001,WD500G)!"
}
查看其显示页面源代码,与其显示内容完全一样,没有任何多余内容。然而使用IE8浏览器访问http://localhost:8080/donganshop/product/adder?request=add&code=1001144001&name=WD500G&manufacturer=WD会提示下载文件adder, 我查看里面的源代码,源代码和显示信息
{
"type":"successful",
"messageKey":"successful",
"messageText":"成功新增商品(1001144001,WD500G)!"
}完全一样,也没有任何多余内容。接着,我使用JsTestDriver来测试js代码(下面的js代码使用了jQuery库)
//File TestProductAddTestCase.js
ProductAdderTest = TestCase("ProductAdderTestCase");
ProductAdderTest.prototype.testAddSuccessfully = function(){
var adder = new ProductAdder();
var p = new Product();
p.setName("WD500G");
p.setCode("1001144001");
var adder = new ProductAdder();
adder.add(p);
//to be continued
};
//File ProductAdder.js
var ProductAdder = (function(){
//private static members
var ADDER_URL = "/product/adder";
//constructor
var ctor = function(){
this.add = function(theProd){
var url = CommonContants.rootUrl + ADDER_URL ;
$.ajax({
url:"http://localhost:8080/donganshop/product/adder",
dataType:"json",
data:{
request:"add",
name:theProd.getName(),
code:theProd.getCode()
},
complete:function(data){
var msg = $.parseJSON(data);
alert(msg);
}
});
};
};
return ctor;
})();
浏览器弹出的对话框,显示“null”。就算把语句alert(msg);改为alert(data);后,一样显示的不是预期的内容。我想要预期的内容应该json内容
{
"type":"successful",
"messageKey":"successful",
"messageText":"成功新增商品(1001144001,WD500G)!"
}
或者由这些内容解析成的js对象.大虾们,帮忙指点一下。
<%@ page language="java"
contentType="application/json; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page isELIgnored = "false" %>
<%@ page import = "com.dongantech.eshop.services.responses.*" %>
<%
Response lastResponse =(Response) request.getAttribute("lastResponse");
%>
{
"type":"${lastResponse.type}",
"messageKey":"${lastResponse.message.key}",
"messageText":"${lastResponse.message.text}"
}
使用Chrome浏览器访问http://localhost:8080/donganshop/product/adder?request=add&code=1001144001&name=WD500G&manufacturer=WD浏览器显示信息:
{
"type":"successful",
"messageKey":"successful",
"messageText":"成功新增商品(1001144001,WD500G)!"
}
查看其显示页面源代码,与其显示内容完全一样,没有任何多余内容。然而使用IE8浏览器访问http://localhost:8080/donganshop/product/adder?request=add&code=1001144001&name=WD500G&manufacturer=WD会提示下载文件adder, 我查看里面的源代码,源代码和显示信息
{
"type":"successful",
"messageKey":"successful",
"messageText":"成功新增商品(1001144001,WD500G)!"
}完全一样,也没有任何多余内容。接着,我使用JsTestDriver来测试js代码(下面的js代码使用了jQuery库)
//File TestProductAddTestCase.js
ProductAdderTest = TestCase("ProductAdderTestCase");
ProductAdderTest.prototype.testAddSuccessfully = function(){
var adder = new ProductAdder();
var p = new Product();
p.setName("WD500G");
p.setCode("1001144001");
var adder = new ProductAdder();
adder.add(p);
//to be continued
};
//File ProductAdder.js
var ProductAdder = (function(){
//private static members
var ADDER_URL = "/product/adder";
//constructor
var ctor = function(){
this.add = function(theProd){
var url = CommonContants.rootUrl + ADDER_URL ;
$.ajax({
url:"http://localhost:8080/donganshop/product/adder",
dataType:"json",
data:{
request:"add",
name:theProd.getName(),
code:theProd.getCode()
},
complete:function(data){
var msg = $.parseJSON(data);
alert(msg);
}
});
};
};
return ctor;
})();
浏览器弹出的对话框,显示“null”。就算把语句alert(msg);改为alert(data);后,一样显示的不是预期的内容。我想要预期的内容应该json内容
{
"type":"successful",
"messageKey":"successful",
"messageText":"成功新增商品(1001144001,WD500G)!"
}
或者由这些内容解析成的js对象.大虾们,帮忙指点一下。
解决方案 »
- JSP页面内部Frame间页面跳转问题
- 字符串解析成java.util.Date问题
- myfaces中的tree2组件问题
- 我用UTF-8编码WEB应用可以正常运行,但数据库中为什么是乱
- FCKeditor:The server didn't send back a proper XML response ,天啊这个是什么错啊
- JSP页面传值到后台的问题
- 求助在JSP内指定访问指定URL的方法
- 请教大家一个页面间用户资料传递的问题,进者有分
- 一个密码验证的问题?
- createStatement()的问题
- 学习jsp遇到的一个小问题
- 用intelli Idea 11 javax.server包怎么导入?
<%@ page language="java"
contentType="application/json; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page isELIgnored = "false" %>
<%@ page import = "com.dongantech.eshop.services.responses.*" %>
<%
Response lastResponse =(Response) request.getAttribute("lastResponse");
response.setHeader("Access-Control-Allow-Origin","*");
%>
{
"type":"${lastResponse.type}",
"messageKey":"${lastResponse.message.key}",
"messageText":"${lastResponse.message.text}"
}