因为getJSON()方法用于通过AJAX HTTP get请求获取JSON数据。用于从servlet中的doPost方法获取数据的方法。假设我已经使用action将数据发送到servlet,并希望获得响应。哪个JSON方法到use..An示例或一个好的教程会有帮助?
谢谢:)
发布于 2011-05-10 02:43:08
所以,您基本上是在问如何通过POST请求获取JSON数据?
而不是
$.getJSON('servleturl', function(data) {
alert(data);
});
使用
$.post('servleturl', function(data) {
alert(data);
});
当您让servlet执行response.setContentType("application/json")
时,data
就已经是JSON格式了。
然而,在再次阅读了您的问题和评论之后,我认为您基本上是在问如何使用jQuery提交帖子表单。这基本上与JSON无关(尽管如果需要,servlet可以返回JSON响应)。
假设下面的形式
<form id="formid" action="servleturl" method="post">
<input type="text" name="foo" />
<input type="text" name="bar" />
<input type="submit" />
</form>
下面是如何“ajax化”它(在文档准备好的时候执行!)
$('#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">
元素。
发布于 2011-05-10 02:31:48
您可以这样做:
$.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);
这里是fiddle:http://jsfiddle.net/maniator/H8YeE/
https://stackoverflow.com/questions/5940915
复制相似问题