Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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
struts2中的ajax结果div刷新_Ajax_Jquery_Struts2 - Fatal编程技术网

struts2中的ajax结果div刷新

struts2中的ajax结果div刷新,ajax,jquery,struts2,Ajax,Jquery,Struts2,我有一个用例 <html> <head> <s:head /> <sj:head jqueryui="true" /> <script type="text/javascript"> $.subscribe('hideTarget', function(event, data) { $('#'+event.originalEvent.targets).

我有一个用例

<html>
<head>
    <s:head />
    <sj:head jqueryui="true" />
     <script type="text/javascript">
              $.subscribe('hideTarget', function(event, data) {
                $('#'+event.originalEvent.targets).hide("blind");
                });
     </script>
</head>

<body>
    <div align="left" >
        <div class="demo" align="center"><a href="#" id="button">Run Effect</a></div>
        <div id="effect" style="display:none;">
            Upload Photos Here
            <s:form action="AjaxTest" method="post" theme="xhtml" enctype="multipart/form-data" >
                <s:file name="userImage" label="User Image" />
                <sj:submit targets="result" effect="blind" effectMode="show" onEffectCompleteTopics="hideTarget" value="Upload" button="true" />
            </s:form>
            <br/>
            <img id="indicator" src="progressbar.gif" style="display:none" alt="loading"/> 
        </div>
        <sj:div  effect="pulsate" effectDuration="1500" onEffectCompleteTopics="hideTarget" cssClass="welcome" id="result"></sj:div>
    </div>
    <!-- End demo -->
</body>

$.subscribe('hideTarget',函数(事件、数据){
$('#'+event.originalEvent.targets).hide(“blind”);
});
上传照片到这里

正如你所看到的,我正在使用ajax调用上传一个文件。当你点击Run Effect链接时,一个div将在文件标签中向下切换,选择文件,上传它,它将显示成功上传的消息并生效,然后隐藏成功消息。 在这之前,它工作正常,但我的问题是,当你想上载另一个文件时,它会显示文件标签,你也可以选择,但当你提交表单时,它不会显示成功消息,但文件已上载到服务器,而且在文件标签中,以前上载的文件名是它们的

注意:我的要求是,每次用户使用ajax调用提交表单时,它都应该显示成功上传的消息

我的success.jsp是

<body>
   <s:if test="hasActionMessages()">
       <s:actionmessage/>
    </s:if>
    <s:if test="hasActionErrors()">
            <s:actionerror/>
    </s:if>
</body>   

Struts.xml

 <action name="AjaxTest" class="AjaxCallAction">
        <result name="success">/success.jsp</result>
    </action>

如果您熟悉jQuery,请不要在中使用id=“result”,在中使用name=“result”和formid,不要使用那些sj标记,直接使用jQuery。。。然后,你可以做任何你想做的事情(然后你可以问一些只有jquery标记的问题,并得到快速的答案)。问题是ajax标记很笨拙。大多数资深struts2用户都知道选择的JS框架,所以这里很少有人能帮上忙(有更好的方法时为什么要使用笨拙的标记库),jQuery用户帮不上忙,因为细节隐藏在标记库后面。谢谢你的建议,在jquerySorry中,我需要一段时间才能做出回应。。。但是我在想要使用ajax的操作上使用了struts2 json插件。在询问客户端问题时,修改问题以尽可能隐藏有关服务器的详细信息。简单地说:这是我想要的,这是我迄今为止尝试过的JS/HTML(可能是css),这是我使用这个url时服务器返回的内容。