2017-01-05 111 views
1

我知道這裏已經提出了這個問題。但似乎有什麼地方出了問題。我只是張貼表單數據到我的控制器我有傑克遜依賴關係。但它拋出我錯誤HTTP狀態405請求方法不支持。HTTP狀態405 - 所請求的資源不允許指定的HTTP方法

這裏是我的控制器

@RequestMapping(value="/addCompany",method=RequestMethod.POST) 
    [email protected] String userLogin(HttpServletRequest req,@RequestBody CompanyRegVO user){ 
    logger.debug("signUp user:"+user); 
    // get reCAPTCHA request param 
    String gRecaptchaResponse = req.getParameter("g-recaptcha-response"); 
    boolean isVerified= Verify.verifyGcaptchResponse(gRecaptchaResponse); 
    ObjectMapper mapper=new ObjectMapper(); 
    String jsonString=""; 
} 

這是我的jQuery我用

home='<%=request.getContextPath()%>'; 
$('#userReg').submit(function(event){ 
    var add = {} 
    add["type"] = $("#type").val(); 
    add["name"] = $("#companyName").val(); 
    add["regNumber"] = $("#regNumber").val(); 
    add["dob"] = $("#dob").val(); 
    add["email"] = $("#email").val(); 
    add["password"] = $("#password").val(); 
    add["confirmPassword"] = $("#cpassword").val(); 
    add["line1"] = $("#line1").val(); 
    add["line2"] = $("#line2").val(); 
    add["state"] = $("#state").val(); 
    add["country"] = $("#country").val(); 
    add["zipCode"] = $("#zipCode").val(); 
    console.log("search: ", add); 
    event.preventDefault(); 
    $.ajax({ 
     type : "POST", 
      headers: { 
       'Accept': 'application/json', 
       'Content-Type': 'application/json' 
      }, 

     url : home+"/addCompany", 
     data : JSON.stringify(add), 
     dataType : 'json', 
     timeout : 100000, 
     success : function(data) { 
      console.log("SUCCESS: ", data); 
      alert(data) 

     }, 
     error : function(e) { 
      console.log("ERROR: ", e); 
      alert(e); 

     },done : function(e) { 
      console.log("DONE"); 
     } 
}); 

這是我CompnayRegVO

public class CompanyRegVO { 
private String companyName; 
private Integer regNumber; 
private String password; 
private String confirmPassword; 
private String type; 
private String email; 
private String dob; 
private Boolean enabled; 
private AddressVO address; 
//getters and setter 
} 

編輯1; 這裏是我的POM

<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>task</groupId> 
    <artifactId>basicPages</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>basicPages Maven Webapp</name> 
    <url>http://maven.apache.org</url> 
    <properties> 
     <spring.version>4.2.5.RELEASE</spring.version> 
     <jcl.slf4j.version>1.7.12</jcl.slf4j.version> 
     <logback.version>1.1.3</logback.version> 

    </properties> 

    <repositories> 
     <repository> 
      <id>Java.Net</id> 
      <url>http://download.java.net/maven/2/</url> 
     </repository> 
    </repositories> 
    <dependencies> 

     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>4.3.6.Final</version> 
     </dependency> 
     <!-- JSON lib --> 
     <dependency> 
      <groupId>org.glassfish</groupId> 
      <artifactId>javax.json</artifactId> 
      <version>1.0.4</version> 
     </dependency> 
     <!--to send email --> 
     <dependency> 
      <groupId>javax.mail</groupId> 
      <artifactId>mail</artifactId> 
      <version>1.4.3</version> 
     </dependency> 


     <!-- google recaptcha --> 
     <!-- https://mvnrepository.com/artifact/net.tanesha.recaptcha4j/recaptcha4j --> 
     <dependency> 
      <groupId>net.tanesha.recaptcha4j</groupId> 
      <artifactId>recaptcha4j</artifactId> 
      <version>0.0.7</version> 
     </dependency> 

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

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

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

     <!-- Spring framework END --> 
     <!-- Spring Security Artifacts - START --> 
     <!-- http://mvnrepository.com/artifact/org.springframework.security/spring-security-web --> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-web</artifactId> 
      <version>4.0.4.RELEASE</version> 
     </dependency> 

     <!-- http://mvnrepository.com/artifact/org.springframework.security/spring-security-config --> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-config</artifactId> 
      <version>4.0.4.RELEASE</version> 
     </dependency> 
     <!-- Spring Security Artifacts - END --> 

     <!-- Jstl for jsp page --> 
     <!-- http://mvnrepository.com/artifact/javax.servlet/jstl --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.2</version> 
     </dependency> 

     <!-- Servlet API --> 
     <!-- http://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.1.0</version> 
      <scope>provided</scope> 
     </dependency> 

     <!-- JSP API --> 
     <!-- http://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api --> 
     <dependency> 
      <groupId>javax.servlet.jsp</groupId> 
      <artifactId>jsp-api</artifactId> 
      <version>2.2</version> 
      <scope>provided</scope> 
     </dependency> 

     <!-- MySQL JDBC driver --> 
     <!-- http://mvnrepository.com/artifact/mysql/mysql-connector-java --> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>5.1.34</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>jcl-over-slf4j</artifactId> 
      <version>${jcl.slf4j.version}</version> 
     </dependency> 

     <!-- 3. logback --> 
     <dependency> 
      <groupId>ch.qos.logback</groupId> 
      <artifactId>logback-classic</artifactId> 
      <version>${logback.version}</version> 
     </dependency> 


     <!-- SQLServer JDBC driver (JTDS) --> 
     <!-- http://mvnrepository.com/artifact/net.sourceforge.jtds/jtds --> 
     <dependency> 
      <groupId>net.sourceforge.jtds</groupId> 
      <artifactId>jtds</artifactId> 
      <version>1.3.1</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-databind</artifactId> 
      <version>1.9.10</version> 
     </dependency> 
      <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-core</artifactId> 
      <version>2.5.4</version> 
     </dependency> 
       <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-databind</artifactId> 
      <version>2.5.4</version> 
     </dependency> 

    </dependencies> 

    <build> 
     <finalName>basicPages</finalName> 
    </build> 
</project> 

這個錯誤是因爲我有AddressVO對象在我compnayRegVO但我的JSON沒有地址對象?如果是,請如何糾正它。

+0

然後發送一個空白。 – Jai

+0

對不起,我沒有找到你 –

+0

嘗試發送一個自制的JSON到帶有休息客戶端/捲曲的服務器上......並檢查服務器是否工作,如果它確實是客戶端。之後,嘗試調試控制檯(網絡),並比較兩個請求之間的差異(body + header)。發送一個空的JSON對象是測試請求是否被正確的控制器方法處理的簡單方法。 –

回答

0

對不起所有, 我有一個愚蠢,我已經在我的表單中添加method =「POST」。所以它採取的形式發佈,所以我的服務沒有暴露使用jquery.Now我有一個疑問,如果有人告訴我春天mvc綁定頁面與URL使用internalResourceViewResolver。但有沒有什麼辦法可以用jquery做同樣的事情?

相關問題