이번에는 Ajax 상호작용 중에 발생하는 status=parsererror 오류를 해결하는 방법을 알려드리겠습니다. Ajax 상호작용 중에 status=parsererror 오류가 발생하는 경우 해결하기 위한 주의사항은 무엇입니까? 다음은 실제 사례입니다. 바라보다.
원인: 서블릿에서 반환된 데이터가 Json 형식이 아닙니다
1. JS 코드는
var jsonStr = {'clusterNum':2,'iterationNum':3,'runTimes':4}; $.ajax({ type: "post", //http://172.22.12.135:9000/Json.json url: "/LSHome/LSHome", dataType : 'json', data : jsonStr, success: function(data,textStatus){ if(textStatus=="success"){ alert("创建任务操作成功"+data); } }, error: function(xhr,status,errMsg){ alert("创建任务操作失败!"); } });
2입니다. 위의 URL은 /LSHome/LSHome입니다. 이름은 LSHome)이므로 웹에서는 .xml 파일에서 Servlet을 다음과 같이 구성합니다.
<servlet> <servlet-name>LSHomeServlet</servlet-name> <servlet-class>com.ys.servlet.LSHomeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LSHomeServlet</servlet-name> <url-pattern>/LSHome</url-pattern>
3. Servlet의 코드는 다음과 같습니다.
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //聚类数量 String clusterNum = request.getParameter("clusterNum"); //迭代次数 String iterationNum = request.getParameter("iterationNum"); //运行次数 String runTimes = request.getParameter("runTimes"); System.out.println("聚类数量为:"+clusterNum+"---迭代次数:"+iterationNum+"---运行次数:"+runTimes); PrintWriter out = response.getWriter(); out.write("success"); out.close(); }
4. 결과적으로 항상 ajax 메소드 입력 오류 및 status=parsererror
xhr = Object {readyState: 4, responseText: "success", status: 200, statusText: "OK"}
5. 해결책:
이유는 응답 객체를 통해 반환된 데이터 형식이 올바르지 않기 때문입니다. 올바른 메소드
PrintWriter out = response.getWriter(); String jsonStr = "{\"success\":\"OK\"}"; out.write(jsonStr);
는 반환 값을 조각화할 수 있습니다. JSON 데이터 형식으로 변환하면 status=parsererror가 보고됩니다
이 기사의 경우 방법을 숙지하셨을 것으로 예상됩니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 참고하세요. !
추천 자료:
Ajax+부트스트랩 단계를 통해 웹 사용자 경험 최적화
위 내용은 Ajax 상호작용 중에 보고된 status=parsererror 오류를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!