这是一个简单的表格,它需要从2个日期到2个日期,而我将这些日期替换为服务器的值。
<form action="#" method="get">
<label for="from">From</label>
<input type="text" id="from" name="fromDate">
<label for="to">to</label>
<input type="text" id="to" name="toDate">
<input type="button" value="Recv Amount" id="recv">
</form>
以下是控制器代码
@RequestMapping("getPayments")
@ResponseBody
public void getPayments(HttpServletRequest request,Model uiModel)
{
String toDate=request.getParameter("toDate");
String fromDate=request.getParameter("fromDate");
System.out.println(fromDate+" "+ toDate);
}
这是js代码
$('#recv').click(function(){
var fromDate=$('#from').val();
var toDate=$('#to').val();
$.ajax({
type: "GET",
url: url,
data:{"fromDate":fromDate,"toDate":toDate},
dataType:"json",
success: function( data ) {
console.log('success');
},
error:function()
{
console.log('failed');
}
});
});
每当我按下按钮时,我都可以在服务器控制台中看到日期和日期(这意味着执行System.out.println(fromDate +“” + toDate);),但是在浏览器控制台中却打印失败(这意味着console.log) (“失败”);已执行)
我在浏览器控制台中没有任何错误,但是从未执行过ajax的成功功能。
背后的原因可能是什么?
您正在等待JSON答案,但未返回任何内容。jQuery会给您一个错误。从您的Ajax请求中删除'dataType'或返回一个有效的json对象。
从jQuery文档中:
“ json”:将响应评估为JSON并返回一个JavaScript对象。JSON数据以严格的方式进行解析;任何格式错误的JSON都会被拒绝,并引发解析错误。从jQuery 1.9开始,空响应也被拒绝;服务器应返回null或{}的响应。(有关正确的JSON格式的更多信息,请参见json.org。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句