Ну, в основном, просто пытаюсь реализовать какой-то ajax в моем весеннем веб-приложении. В целях тестирования я попытался написать некоторый код, чтобы получить «пользовательскую» информацию на основе их личных значений «id», когда они нажимают кнопку link /. Я предполагаю, что это ошибка на стороне сервера, что что-то не так с моим контроллером, хотя я не совсем уверен и нуждаюсь в помощи, чтобы это работало. Это моя текущая страница JSP только для тестирования:403 Запретная ошибка на весне Ajax GET Request
<c:forEach var="user" items="${users}">
<tr>
<td><c:out value="${user.id}" /></td>
<td><c:out value="${user.name}"/></td>
<td><c:out value="${user.username}"/></td>
<td><c:out value="${user.email}"/></td>
<td><c:out value="${user.dob}"/></td>
<td><c:out value="${user.authority}"/></td>
<td>
<a class="update" href="<c:url value="/viewUser"><c:param name="id" value="${user.id}"/></c:url>"><button>Update</button></a>
</td>
<td>
<a class="delete" href="<c:url value="/deleteUser"><c:param name="id" value="${user.id}"/></c:url>"><button>Delete</button></a>
</td>
<td>
<a class="ajax" href="<c:url value="/ajax"><c:param name="id" value="${user.id}"/></c:url>">Ajax</a>
</td>
</tr>
</c:forEach>
</table>
<script type="text/javascript">
$(document).ready(function(){
$('.ajax').click(function(e){
e.preventDefault();
$.ajax({
url:"http://localhost:8080/SDP_v1.7/ajax",
type: 'GET',
dataType:'json',
contentType: 'application/json',
mimeType: 'application/json',
succes: function(user){
alert(user.id + " + " + user.username);
},
error:function(user,status,er) {
alert("error: "+user+" status: "+status+" er:"+er);
}
});
});
});
</script>
Это мой класс контроллера:
@RequestMapping("/viewUser")
public String updateUser(Model model, @RequestParam(value = "id", required = false) Integer id) {
User user = usersService.getUser(id);
model.addAttribute("user", user);
return "settings";
}
@RequestMapping(value = "/ajax", method = RequestMethod.GET)
public @ResponseBody User getUser(@PathVariable Integer id) {
return usersService.getUser(id);
}
Это моя ошибка выскакивать в консоли:
GET http://localhost:8080/SDP_v1.7/ajax 403 (Forbidden) jquery.js:5
отправить JQuery. js: 5 x.extend.ajax jquery.js: 5 (анонимная функция) пользователей: 106 x.event.dispatch jquery.js: 4 v.handle
По существу, я собираюсь загрузить информацию каждого пользователя во всплывающее модальное с формой. Хотя я должен сначала выполнить этот шаг. Спасибо
Да, ну я бегу это внутренне, так что порт 8080 на данный момент. Является ли JSONP способом обойти эту проблему? – Maff