У меня есть форма, где я добавляю информацию о клиенте. Эта информация передается @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§or=gdg Failed to load resource: the server responded with a status of 404 (Not Found)
Почему?
Правильно ли автоответчик получает автосканирование? Если нет, это было бы незаметно для Весны. Большая часть кода, который вы опубликовали, не имеет значения, поскольку конфигурация Spring MVC будет более полезна. – kryger
Успех! Я забыл добавить <контекст: компонент сканирования базового пакета = «it.jdk.reportvisitaweb.navigation» /> в диспетчеру .. – Dave
я бы отправил это как ответ, но это было просто догадка, основанная на опыте и видящая это много раз (я не мог найти вопрос «предшествующего уровня техники», чтобы отметить это как дубликат), в вашем вопросе нет ничего, что могло бы привести к такому выводу. – kryger