我正在尝试在我的应用程序中使用原型将一些json数据发送到我的servlet并进行处理。这是我的ajax请求:
var dataToSend = getFormDataAsJSONString();
alert(dataToSend);
new Ajax.Request('GetExpenses', {
method: 'post',
contentType: 'application/json',
postBody: 'data='+dataToSend,
asynchronous: true,
onSuccess: function(transport) {
parseReturnedExpenses(getPeriod(), transport.responseText);
},
onFailure: function(req) {
alert('unable to send ajax post.');
},
onComplete: function(req) {
alert('request completed');
}
});
我的doPost()servlet方法中有System.out.println()语句,只是为了查看是否正在调用该方法,并且永远不会调用它。我还在打印失败和不完整的功能中打印出来,我也没有看到其中任何一个。
我的dataToSend字符串看起来不错,所以我不确定我错过了什么。我在我的web.xml文件中定义了GetExpenses Servlet,所以我不确定它是怎么回事。有没有人看到我的代码中有任何明显的错误?
我的GET请求工作正常:
new Ajax.Request("GetExpenses",
{method: 'get',
parameters: {'period': period},
onSuccess: function(transport) {
var json = transport.responseText.evalJSON();
parseReturnedExpenses(period, json);
}});