Получение AJAX HTTP 500 в ответе SpringMVC - PullRequest
0 голосов
/ 23 сентября 2018

Я пытаюсь получить список пользователей Mongodb с ajax, он работает без ajax.Я сделал это с MySQL, и это сработало, поэтому я не понимаю, что не так с моим кодом.

Я могу отправить запрос, перейти к методу и вернуть List<User>.Но когда я помещаю это в карту, я не могу получить эту карту как ответ в функции успеха.

Мой консольный вывод:

free.js:31 Uncaught TypeError: Cannot read property 'action' of null
    at window.onmessage (free.js:31)
window.onmessage @ free.js:31
jquery.min.js:2 POST http://localhost:8080/UserManagementMongoDB/list 500
send @ jquery.min.js:2
ajax @ jquery.min.js:2
load @ submitedform:342
onload @ submitedform:25
submitedform:355 Uncaught ReferenceError: response is not defined
    at Object.error (submitedform:355)
    at u (jquery.min.js:2)
    at Object.fireWith [as rejectWith] (jquery.min.js:2)
    at k (jquery.min.js:2)
    at XMLHttpRequest.<anonymous> (jquery.min.js:2)

Вот мой метод Контроллера

@RequestMapping(value="/list", method=RequestMethod.POST)
public @ResponseBody Map<String,Object> getAll(User user) {
    Map<String,Object> map = new HashMap<String,Object>();

        List<User> list = mainPageService.getAllUsers();

        if (list != null){
            map.put("status","200");
            map.put("message","Data found");
            map.put("data", list);
        }else{
            map.put("status","404");
            map.put("message","Data not found");

        }

    return map;
}

И моя функция загрузки ajax

data = "";
load = function(){  
    $.ajax({
        url:'list',
        type:'POST',
        success: function(response){
            alert("Hello");
                data = response.data;
                $('.tr').remove();
                for(i=0; i<response.data.length; i++){                  
                    $("#table").append("<tr class='tr'> <td> "+response.data[i].userName+" </td> <td> "+response.data[i].userSurname+" </td> <td> <a href='#' onclick= edit("+i+");> Edit </a>  </td> </td> <td> <a href='#' onclick='delete_("+response.data[i].userId+");'> Delete </a>  </td> </tr>");

                }           
        },
        error: function () {
            alert(response);    
          }

    });

Вот мои зависимости

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>UserManagementMongoDB</groupId>
  <artifactId>UserManagementMongoDB</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>UserManagementMongoDB Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
    
  <!-- Servlet Library -->
    <!-- http://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${javax.servlet-api.version}</version>
        <scope>provided</scope>
    </dependency>
    
  <!-- Spring dependencies -->
    <!-- http://mvnrepository.com/artifact/org.springframework/spring-core -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.framework.version}</version>
    </dependency>

    <!-- http://mvnrepository.com/artifact/org.springframework/spring-web -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.framework.version}</version>
    </dependency>

    <!-- http://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.framework.version}</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.framework.version}</version>
    </dependency>
    
    <dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-commons</artifactId>
  <version>${spring.data.commons.version}</version>
 </dependency>
 
 <dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-mongodb</artifactId>
  <version>${spring.data.mongodb.version}</version>
 </dependency>
    
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>${jstl.version}</version>
    </dependency>
    
    <!-- https://mvnrepository.com/artifact/net.tanesha.recaptcha4j/recaptcha4j -->
<dependency>
    <groupId>net.tanesha.recaptcha4j</groupId>
    <artifactId>recaptcha4j</artifactId>
    <version>0.0.7</version>
</dependency>
    
    <!-- https://mvnrepository.com/artifact/org.glassfish/javax.json -->
		<dependency>
			<groupId>org.glassfish</groupId>
			<artifactId>javax.json</artifactId>
			<version>1.1.2</version>
		</dependency>
    
    <dependency>
	<groupId>org.codehaus.jackson</groupId>
	<artifactId>jackson-mapper-asl</artifactId>
	<version>1.9.10</version>
</dependency>

<dependency>
	<groupId>com.google.code.gson</groupId>
	<artifactId>gson</artifactId>
	<version>2.3</version>
</dependency>


<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-tx</artifactId>
	<version>${spring.framework.version}</version>
</dependency>
    
</dependencies>



  <!-- Properties for the dependencies -->
  <properties>
  
  <java-version>1.7</java-version>
   <!-- Spring properties -->
   
   <spring.framework.version>5.0.9.RELEASE</spring.framework.version>
   <spring.data.commons.version>1.12.1.RELEASE</spring.data.commons.version>
   <spring.data.mongodb.version>1.10.6.RELEASE</spring.data.mongodb.version>
   
   <!-- Other properties -->
   <javax.servlet-api.version>3.1.0</javax.servlet-api.version>
   <junit.version>4.12</junit.version>
   <jstl.version>1.2</jstl.version>
  </properties>
  
  <build>
    <finalName>ExampleWebApplication</finalName>
  </build>
</project>

Я получаю 500 прямо сейчас, я просто не могу получить ответ на все, кроме того, что работает.Я могу отправить свои параметры с помощью ajax, просто не могу получить ресурсы карты

Код моей модели:

public class User {

@Id
private String userId;

private String userName;
private String userSurname;
private String phoneNo;

public User(String userId,String userName,String userSurname,String phoneNo) {
    setUserId(userId);
    setUserName(userName);
    setUserSurname(userSurname);
    setPhoneNo(phoneNo);
}


public User() {
    // TODO Auto-generated constructor stub
}

public String getUserId() {
    return userId;
}
public void setUserId(String userId) {
    this.userId = userId;
}
public String getUserName() {
    return userName;
}
public void setUserName(String userName) {
    this.userName = userName;
}
public String getUserSurname() {
    return userSurname;
}
public void setUserSurname(String userSurname) {
    this.userSurname = userSurname;
}
public String getPhoneNo() {
    return phoneNo;
}
public void setPhoneNo(String phoneNo) {
    this.phoneNo = phoneNo;
}

My Stacktrace:

ava.lang.Exception at com.kaan.springmvc.controller.MainPageController.getAll (MainPageController.java:117) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (неизвестный источник) в sun.reflect.DelegatingMethodAccessorImpl.invoke (неизвестный источник) в java.lankehond (неизвестный источник (Unknown Source)) в org.springframework.web.method.support.InvocableHandlerMethod.doInvoke (InvocableHandlerMethod.java:209) в org.springframework.web.method.support.InvocableHandlerMethod.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle (ServletInvocableHandlerMethod.java:102) в org.springframework.web.servlet.mvc.method.annotation.weg.jap_Wareservlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal (RequestMappingHandlerAdapter.java:797) по адресу org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle (AbstractHandlerMethodAdapter.java:87) в org.springfsereserv.web991) по адресу org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:925) по адресу org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:974). Work.ralet.web.web.web.web.web.web.web.web..doPost (FrameworkServlet.java:877) в javax.servlet.http.HttpServlet.service (HttpServlet.java:660) в org.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet.jav:axserv в java:8serv.http.HttpServlet.service (HttpServlet.java:741) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:231) в org.apache.catalina.core.ApplicationFilterChain.hain.в org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:53) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) в org.apache.catalina.core.ApplicationFilterChain.doFilg6 или в приложении ().apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:199) в org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:96) в org.apache.catheaseBevent.java: 490) в org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:139)в org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:92) в org.apache.catalina.valves.AbstractAccessLogValve.invoke (AbstractAccessLogValve.java:668) в org.apache.catalinainveve.core(StandardEngineValve.java:74) в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:343) в org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:40ap) в org.coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66) в org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:770) в org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.dopointNio (Nio.Java: 1415) в org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) в java.util.concurrent.ThreadPoolExecutor.runWorker (неизвестный источник) в java.util.concurrent.ThreadPoerExec.выполнить (неизвестный источник) в org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) в java.lang.Thread.run (Неизвестный источник) Цитата

1 Ответ

0 голосов
/ 23 сентября 2018

Разделяете ли вы внешний и внутренний интерфейсы?

Если да, это может быть другой номер сервера или порта и нарушение CORS.Пожалуйста, помогите обновить дополнительную информацию.

Во-вторых, ваш метод требует объект User, но я ничего не имею относительно него из запроса ajax?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...