我是 Struts2 的新手,我要将一组表单数据发送到 struts 操作类。
这是我在 jsp 中的 Ajax 代码
$.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
:
<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,但始终警告“错误”。我引用了很多文章,但仍然没有得到适当的解决方案
最佳答案
您在执行 ajax 请求时正在发送结果 redirect
。 Ajax 请求不会将您重定向到另一个位置,它会在发出请求时停留在同一页面上。
改变
<result name="success" type="redirect">
到
<result name="success" type="dispatcher">
dispatcher
是默认结果类型,它将在指定位置呈现 JSP 并将响应 HTML 写入输出。此响应可以使用 jQuery 轻松加载到同一页面上可用的任何 div
。
关于javascript - 对 Struts2 操作类的 jQuery Ajax 请求总是返回 200 ok,但错误事件被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42947444/