我正在尝试通过 Spring MVC 对 Java 方法(返回字符串)进行 ajax 调用。下面的这段 javascript 代码成功地调用了 Java 方法并将我期望的内容打印到 Eclipse 控制台。我正在尝试输出我刚刚在我的 html 页面上提到的文本。我的问题是,甚至都没有输入成功或错误回调函数,所以很明显我无法获得 Java 方法返回的信息。
提前致谢
$("#dateButton").click(function(e){
fromdate = $("input#fromdate").val();
todate = $("input#todate").val();
fromcurr = $("input#fromcurr").val();
tocurr = $("input#tocurr").val();
var dataString = "fromdate=" +fromdate+"&todate="+todate+"&fromcurr="+fromcurr+"&tocurr="+tocurr;
$.ajax({
type: "post",
url: "getDailyRates.html",
data: dataString,
datatype: "text",
async: 'false',
success: function(data, textStatus, jqXHR){
alert("in success");
$('#display').html("");
$('#display').append(data);
},
error: function(){
alert("ERROR!");
}
});
});
Java方法
@RequestMapping(value = "/getDailyRates.html", method = RequestMethod.POST)
public String getDailyRates(HttpServletRequest request, HttpServletResponse response ) {
DailyRatesQuery dailyRate= new DailyRatesQuery();
String fromCurr= request.getParameter("fromcurr");
String toCurr= request.getParameter("tocurr");
String fromDate= request.getParameter("fromdate");
String toDate=request.getParameter("todate");
dailyRate.setFromCurr(fromCurr);
dailyRate.setToCurr(toCurr);
dailyRate.setFromDate(fromDate);
dailyRate.setToDate(toDate);
System.out.println("From Currency: "+fromCurr+" To Currency: "+toCurr+
" fromDate: "+fromDate+" toDate: "+toDate);
List<DailyRate> rates = jdbcRateDao.getDailyRates(dailyRate);
System.out.println("Before return new model");
System.out.println(rates.toString());
return rates.get(0).toString();
}
更新:
当我单击 JavaScript 函数映射到的按钮时,我发布的 Java 方法被成功调用并生成正确的输出。只是没有将该输出发送回我的 JSP。