2015-06-08 3 views
0

У меня есть форма, где я добавляю информацию о клиенте. Эта информация передается @Controller по вызову Ajax.Ошибка вызова Ajax весной MVC

Customer.java

public class Customer { 

private String name; 
private String fiscalCode; 
private String vat; 
private String telephone; 
private String webSite; 
private String sector; 
private String address; 

//Below there are constructor and getter/setter methods 

Над формой есть:

<c:set var="serverUrl" value="${pageContext.servletContext.contextPath}"/> 
<script> 
    var serverUrl = '${serverUrl}'; 
</script> 

Форма в СПЯ

<form>       
    <div class="form-group"> 
     <input id="nameCustomer" class="form-control" type="text"  placeholder="Name customer"> 
    </div> 
    <div class="form-group">         
     <input id="fiscalCode" class="form-control" type="text" placeholder="Fiscal code"> 
    </div> 
    <div class="form-group"> 
     <input id="vat" class="form-control" type="number" placeholder="VAT number (if available)"> 
    </div> 
    <div class="form-group"> 
     <input id="telephone" class="form-control" type="tel" placeholder="Phone number"> 
    </div> 
    <div class="form-group"> 
     <input id="website" class="form-control" type="email" placeholder="Customer's Website (if available)"> 
    </div> 
    <div class="form-group"> 
     <input id="address" class="form-control" type="text" placeholder="Customer's Address"> 
    </div> 
    <div class="form-group"> 
     <input id="sector" class="form-control" type="text" placeholder="Sector"> 
    </div> 
    <button id="createCustomer" type="button" class="btn btn-success" style="text-align: center">Save</button>       
</form> 

Ajax вызова (ссылка на этот АЯКС код вызова ниже формы)

$("#createCustomer").click(function() { 
    alert("createCustomer"); 
    alert(serverUrl); 
    var nameCustomer = $("#nameCustomer").val(); 
    var fiscalCode = $("#fiscalCode").val(); 
    var vat = $("#vat").val(); 
    var telephone = $("#telephone").val(); 
    var website = $("#website").val(); 
    var address = $("#address").val(); 
    var sector = $("#sector").val(); 

    alert(address); 
    $.ajax({ 
     url: serverUrl + "/addCustomer", 
     dataType: 'text', 
     data: {name: nameCustomer, 
       fiscalCode: fiscalCode, 
       vat: vat, 
       telephone: telephone, 
       webSite: website, 
       address: address, 
       sector: sector}, 
     success: function (data) { 
      $("#customerAdded").modal('show');     
     }, 
     error: function (xhr, error, exception) { 
      $("#errorCustomer").modal('show'); 

     } 
    }); 
}); 

Контроллер

@Controller 
public class CustomerController { 

@RequestMapping("addCustomer") 
public void addCustomer(@ModelAttribute Customer customer){ 
    JOptionPane.showMessageDialog(null, customer.toString()); 
} 

Chrome дает мне эту ошибку:

http://localhost:8080/ReportVisitaWeb/addCustomer?name=gdg&fiscalCode=dfgdfg&vat=&telephone=dfgg&webSite=dfggf&address=dfgddf&sector=gdg Failed to load resource: the server responded with a status of 404 (Not Found)

Почему?

+1

Правильно ли автоответчик получает автосканирование? Если нет, это было бы незаметно для Весны. Большая часть кода, который вы опубликовали, не имеет значения, поскольку конфигурация Spring MVC будет более полезна. – kryger

+0

Успех! Я забыл добавить <контекст: компонент сканирования базового пакета = «it.jdk.reportvisitaweb.navigation» /> в диспетчеру .. – Dave

+0

я бы отправил это как ответ, но это было просто догадка, основанная на опыте и видящая это много раз (я не мог найти вопрос «предшествующего уровня техники», чтобы отметить это как дубликат), в вашем вопросе нет ничего, что могло бы привести к такому выводу. – kryger

ответ

-1

Вы неправильно указываете запрос «addCustomer». Измените свой CustomerController, как показано ниже:

@Controller 
public class CustomerController { 
      @RequestMapping("/addCustomer") 
      public void addCustomer(@ModelAttribute Customer customer){ 
       JOptionPane.showMessageDialog(null, customer.toString()); 
      } 
} 
+0

Сделано, но ничего. Такая же ошибка – Dave

+0

Надеюсь, у вас есть '' в вашем файле конфигурации Spring. – Arpit

Смежные вопросы