首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对jQuery动作类的Struts2 Ajax请求总是返回200个ok,但是会触发错误事件。

对jQuery动作类的Struts2 Ajax请求总是返回200个ok,但是会触发错误事件。
EN

Stack Overflow用户
提问于 2017-03-22 09:28:27
回答 2查看 739关注 0票数 3

我是Struts2新手,我将向struts操作类发送一组表单数据。

这是jsp中的Ajax代码。

代码语言:javascript
运行
复制
$.ajax({
    method: "POST",
    url: "getProjectPost",
    data: { "language" : langArr , "clientId": clientId, "projectName": projectName, "projectType": projectType},
    traditional: true,
    success:
        function()
        {
    	alert("Success");
        },
    error: 
	   function()
        {
    	 alert("Error");
        }
});

这是我的struts.xml

代码语言:javascript
运行
复制
<package name="projectPost" namespace="/" extends="struts-default">
    <action name="getProjectPost" class="com.test.ProjectPostAction" method="execute">
        <result name="success" type="redirect">
        <param name="location">/webpages/Client/Success.jsp</param >
        </result>
        <result name="failure">./LandingPage.jsp</result>
        <result name="error">./error.jsp</result>
    </action>
</package>

Ajax请求返回200 OK,但始终警告"Error“。我参考了许多文章,但仍然没有得到适当的解决方案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-22 11:00:04

在执行ajax请求时,您正在发送结果redirect。Ajax请求不会将您重定向到另一个位置,在发出请求时它将停留在同一个页面上。

变化

代码语言:javascript
运行
复制
<result name="success" type="redirect">

代码语言:javascript
运行
复制
<result name="success" type="dispatcher">

dispatcher是默认的结果类型,它将在指定的位置呈现JSP,并将响应HTML写入out。使用jQuery可以轻松地将此响应加载到同一页面上的任何可用div

票数 1
EN

Stack Overflow用户

发布于 2017-03-22 11:41:30

是的,您可能得到响应200 OK仍然错误回调在ajax请求中执行,因为来自请求url的响应是空的。

因此,您必须检查服务器端代码,为什么响应是空的,或者联系后端开发人员。

对于更多的钙化,您可以使用下面的代码。

代码语言:javascript
运行
复制
$.ajax({
    method: "POST",
    url: "getProjectPost",
    data: { "language" : langArr , "clientId": clientId, "projectName": projectName, "projectType": projectType},
    success: function(data){
        console.log("in success function");
        alert("Error:: " + data);
    },
    error: function(data){
         console.log("in error function");
         alert("Error :: "+ data);
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42947444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档