这是我的jquery函数。它应该传递给servlet两个值并获取更新值。我检查了值是否正确,两个变量是否正确填充。不幸的是,我什么都没有得到回报。
$("#passengers").change(function(event){
var passengers = $("#passengers").val();
var price = $("#price").text();
$.getJSON('pricer', {passengers: passengers, price: price}, function(data){
$("#price").html(data);
});
});
这是servlet
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String passengers = request.getParameter("passengers");
String price = request.getParameter("price");
String price_update = new Gson().toJson(this.pricerBean.calculatePrice(Integer.parseInt(passengers), Float.parseFloat(price)));
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(price_update);
}
主要问题是我没有收到任何错误...即使一个... javascript控制台错误是空的,甚至servlet也没有显示任何错误
答案 0 :(得分:2)
尝试:
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(new Gson().toJson(data)); //here data is what you want to send
首先尝试这个简单:
。response.getWriter()写("你好&#34);
在ajax中:
$.get('pricer', {passengers: passengers, price: price}, function(data){
console.log(data);
});
然后尝试运行它打印的内容发布给我。
console.log()在浏览器控制台中打印数据。
答案 1 :(得分:1)
使用jquery getJSON()
代替get()
$.getJSON('pricer', {passengers: passengers, price: price}, function(data){
$("#price").html(data.price_update);
});
或get
$.get('pricer', {passengers: passengers, price: price}, function(data){
// also validate data if it is not blank
var data = jQuery.parseJSON(data);
$("#price").html(data.price_update);
});