0

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

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

所以我有几个问题:

  • 我做的帖子正确吗?我真的需要将参数列表作为 jsonp 字符串发布吗?
  • 提交给数据库后,如何正确地从 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>
4

1 回答 1

0

我做的帖子正确吗?我真的需要将参数列表作为 jsonp 字符串发布吗?

是的,你做得对。而且您不需要将参数列表作为jsonp. 数据的正确类型是PlainObjectString
datatype指示您期望从服务器返回的数据类型,而不是您发送的数据类型。

提交给数据库后,如何正确地从 servlet 发送“成功”调用?

不,您不需要明确表示成功退货。success请求成功时调用函数。

于 2013-07-22T16:48:34.003 回答