jQuery发布到servlet和刷新父页面

时间:2013-07-22 16:43:38

标签: java jquery ajax servlets

这是我想要做的,基于我正在阅读的ajax jQuery文档。我想向我写的servlet发送一个post调用,这将在我的数据库中保存一个条目。该帖子成功后,我想重新加载呈现我的初始页面的iFrame的PARENT。

所以我目前正确地进行了post调用,但是我没有回调参数之外的参数。

所以我有几个问题:

  • 我正确地发帖了吗?我是否真的需要将参数列表作为jsonp字符串发布?
  • 我提交给数据库后,如何从servlet正确发送“成功”调用?

的Servlet

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):

<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('&lt;div style="width:54px;height:55px;position:absolute;left:50%;top:50%;margin:-27.5px 0 0 -27px;"&gt;&lt;img src="/App/images/loading.gif" alt="Loading Results"/&gt;&lt;/div&gt;');}
    }).done(function() { alert('success'); });
}
</script>

1 个答案:

答案 0 :(得分:0)

  

我正确地发帖了吗?我真的需要发布   参数列表为jsonp字符串?

是的,你正确地做到了。而且您不需要将参数列表作为jsonp传递。数据的正确类型为PlainObjectString datatype表示您希望从服务器返回的数据类型,而不是您要发送的数据类型。

  

我如何正确发送&#34;成功&#34;我之后从servlet调用   提交给DB?

不,您不需要明确表示成功返回。当请求成功时,将调用success函数。