我是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,但始终警告"Error“。我参考了许多文章,但仍然没有得到适当的解决方案。
发布于 2017-03-22 11:00:04
在执行ajax请求时,您正在发送结果redirect
。Ajax请求不会将您重定向到另一个位置,在发出请求时它将停留在同一个页面上。
变化
<result name="success" type="redirect">
至
<result name="success" type="dispatcher">
dispatcher
是默认的结果类型,它将在指定的位置呈现JSP,并将响应HTML写入out。使用jQuery可以轻松地将此响应加载到同一页面上的任何可用div
。
发布于 2017-03-22 11:41:30
是的,您可能得到响应200 OK仍然错误回调在ajax请求中执行,因为来自请求url的响应是空的。
因此,您必须检查服务器端代码,为什么响应是空的,或者联系后端开发人员。
对于更多的钙化,您可以使用下面的代码。
$.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);
}
});
https://stackoverflow.com/questions/42947444
复制相似问题