Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jQuery发布到servlet并刷新父页面_Java_Jquery_Ajax_Servlets - Fatal编程技术网

Java jQuery发布到servlet并刷新父页面

Java jQuery发布到servlet并刷新父页面,java,jquery,ajax,servlets,Java,Jquery,Ajax,Servlets,基于我正在阅读的ajax jQuery文档,这就是我正在尝试做的事情。我想向我编写的servlet发送一个post调用,该servlet将在我的数据库中保存一个条目。在发布成功之后,我想重新加载呈现初始页面的iFrame的父级 因此,我当前所拥有的正确地进行了post调用,但是除了回调参数之外,我没有任何参数 所以我有几个问题: 我做得对吗?我真的需要将参数列表作为jsonp字符串发布吗 在提交到DB之后,如何正确地从servlet发送“successful”调用 Servlet: publ

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

因此,我当前所拥有的正确地进行了post调用,但是除了回调参数之外,我没有任何参数

所以我有几个问题:

  • 我做得对吗?我真的需要将参数列表作为jsonp字符串发布吗
  • 在提交到DB之后,如何正确地从servlet发送“successful”调用
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):


函数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('&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>