因为getJSON()方法用于使用AJAX HTTP GET请求获取JSON数据。 使用哪种方法从servlet中的doPost方法获取数据。 假设我已经使用动作将数据发送到servlet并想要获得响应.. 使用哪种JSON方法......一个示例或一个好的教程可以帮助
感谢:)
答案 0 :(得分:0)
你可以这样做:
$.post(url, function(), return_type); //where return_type you replace with 'json'
所以基本上getJSON()
只是一个别名:
$.get(url, function(), 'json');
这是我为postJSON
制作的一个小插件:
(function($){
$.postJSON = function(url, data, ret_fn) {
return $.post(url, data, ret_fn, 'json');
};
})(jQuery);
答案 1 :(得分:0)
那么,您基本上是在询问如何通过POST请求获取JSON数据?
而不是
$.getJSON('servleturl', function(data) {
alert(data);
});
使用
$.post('servleturl', function(data) {
alert(data);
});
当你让servlet执行response.setContentType("application/json")
时,data
已经是JSON格式。
但是,在再次阅读您的问题和评论之后,我认为您基本上要求如何使用jQuery提交POST表单。这基本上与JSON无关(尽管如果需要,servlet可以返回JSON响应)。
假设以下表格
<form id="formid" action="servleturl" method="post">
<input type="text" name="foo" />
<input type="text" name="bar" />
<input type="submit" />
</form>
这里是你如何“ajaxify”它(在文档准备好的时候做的!)
$('#formid').submit(function() {
$form = $(this);
$.post($form.attr('action'), $form.serialize(), function(data) {
// Do something with response. Display message? Redirect to other page?
alert(data);
});
});
另一个例子也见this answer。
存在更好的插件,例如jQuery Form。然后就像
一样简单$('#formid').ajaxForm(function(data) {
// Do something with response. Display message? Redirect to other page?
alert(data);
});
并且它也支持<input type="file">
元素而没有太多麻烦。