Java jQuery发布到servlet并刷新父页面
基于我正在阅读的ajax jQuery文档,这就是我正在尝试做的事情。我想向我编写的servlet发送一个post调用,该servlet将在我的数据库中保存一个条目。在发布成功之后,我想重新加载呈现初始页面的iFrame的父级 因此,我当前所拥有的正确地进行了post调用,但是除了回调参数之外,我没有任何参数 所以我有几个问题:Java jQuery发布到servlet并刷新父页面,java,jquery,ajax,servlets,Java,Jquery,Ajax,Servlets,基于我正在阅读的ajax jQuery文档,这就是我正在尝试做的事情。我想向我编写的servlet发送一个post调用,该servlet将在我的数据库中保存一个条目。在发布成功之后,我想重新加载呈现初始页面的iFrame的父级 因此,我当前所拥有的正确地进行了post调用,但是除了回调参数之外,我没有任何参数 所以我有几个问题: 我做得对吗?我真的需要将参数列表作为jsonp字符串发布吗 在提交到DB之后,如何正确地从servlet发送“successful”调用 Servlet: publ
- 我做得对吗?我真的需要将参数列表作为jsonp字符串发布吗
- 在提交到DB之后,如何正确地从servlet发送“successful”调用
public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
System.out.println(request.getQueryString());
}
}
来自我的servlet的结果:
callback=jQuery183010119481382259055_1374511172363
查看调用(jQuery):
函数funcCallBack(){
var param12=$('input:radio[name=param1]:选中').val();
var param22=$('[name=“param2”]')。val();
var param32=$('[name=“param3”]')。val();
$.ajax({
类型:“POST”,
数据:{param1:param12,param2:param22,param3:param32},
网址:'http://localhost:8080/App/url',
数据类型:“jsonp”,
发送前:function(){$('#replace').empty().append('div style=“width:54px;height:55px;position:absolute;left:50%;top:50%;margin:-27.5px 0-27px;'img src=“/App/images/loading.gif”alt=“loading Results”//div”);)
}).done(函数(){alert('success');});
}
我做得对吗?我真的需要发布
参数列表作为jsonp字符串
是的,你做得对。您不需要将参数列表作为jsonp
传递。正确的数据类型是PlainObject
或String
datatype
表示希望从服务器返回的数据类型,而不是发送的数据类型
在完成以下操作后,如何正确地从servlet发送“successful”调用
提交给DB
不,您不需要明确表示成功返回
success
函数在请求成功时被调用。OK-因此我在ajax调用的末尾添加了一个.done调用(类似于我在他们的文档中看到的),但调用从未发生过。我会用这个代码更新我的问题-如果我把它变成一个.fail,它就被称为。所以它失败了。关于JSONP,你是对的——这是导致失败的原因。谢谢@用户2124871:很高兴我能帮上忙!
<script type="text/javascript" language="Javascript">
function funcCallBack() {
var param12 = $('input:radio[name=param1]:checked').val();
var param22 = $('[name="param2"]').val();
var param32 = $('[name="param3"]').val();
$.ajax({
type: "POST",
data: {param1:param12, param2:param22, param3:param32},
url: 'http://localhost:8080/App/url',
dataType: 'jsonp',
beforeSend:function(){$('#replace').empty().append('<div style="width:54px;height:55px;position:absolute;left:50%;top:50%;margin:-27.5px 0 0 -27px;"><img src="/App/images/loading.gif" alt="Loading Results"/></div>');}
}).done(function() { alert('success'); });
}
</script>