Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

314
Views
jQuery Ajax request to Struts2 action class always returns 200 ok, but error event is fired

I am new to Struts2 and I'm going to send set of form data to struts action class.

This is my Ajax code in jsp

$.ajax({
    method: "POST",
    url: "getProjectPost",
    data: { "language" : langArr , "clientId": clientId, "projectName": projectName, "projectType": projectType},
    traditional: true,
    success:
        function()
        {
    	alert("Success");
        },
    error: 
	   function()
        {
    	 alert("Error");
        }
});

This is my 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 request returns 200 OK, but always alert "Error". I referred many articles but still not get proper solution

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

You are sending result redirect while doing ajax request. Ajax request won't redirect you to another location, it will stay on the same page when request was made.

Change

<result name="success" type="redirect">

to

<result name="success" type="dispatcher">

The dispatcher is default result type that will render JSP at the specified location and write response HTML to the out. This response could be easily loaded with jQuery to any div available on the same page.

about 4 years ago · Santiago Trujillo Report

0

Yes, it is possible that you get response 200 OK still error callback is executed in ajax request because response from requested url is empty.

So you have to check server side code why response is empty or contact to back-end developer for same.

For more calcification you can use below code.

$.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);
    }
});
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!