Как я могу предотвратить Spring MVC от перенаправления?

Я хочу обработать AJAX-запрос, который обновляет сущность. Мне действительно не нужно ничего возвращать. Проблема заключается в том, что Spring MVC настаивает на отправке перенаправления на тот же URL (очевидно, делает свою вещь post-redirect-get), что браузер покорно следует.

Как можно, чтобы метод контроллера Spring MVC просто завершил работу и возвратил что-то, не отправляя перенаправление? Поиск в Интернете приводит только к бесчисленным дискуссиям о том, как сделать перенаправление, а не о том, как его избежать.

Это запрос PUThttp://localhost:9090/pex/api/testrun/f0a80b46-84b1-462a-af47-d1eadd779f59e с этими заголовками:

Host: localhost:9090
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Length: 20
Content-Type: application/json
Referer: http://localhost:9090/pex/api/testrun/f0a80b46-84b1-462a-af47-d1eadd779f59e/visualizations/common-api?slas=lp,internal,external
X-Requested-With: XMLHttpRequest
Connection: keep-alive
Authorization: Basic xxxx

Ответ имеет код состояния «302 Найдено», без содержимого тела и следующих заголовков:

Content-Language: "de"
Content-Length: "0"
Location: "http://localhost:9090/pex/api/testrun/f0a80b46-84b1-462a-af47-d1eadd779f59e"
Server: "Jetty(6.1.10)"
access-control-allow-origin: "*"

Вот код на стороне сервера:

@RequestMapping(value = "/api/testrun/{testrunId}", method = RequestMethod.PUT, consumes = "application/json")
@ResponseBody
public Testrun updateOverview(@PathVariable("testrunId") final String testrunId, @RequestBody final String body) {
    return testrunService.updateOverview(testrunId, body);
}

Вот код Javascript, который делает вызов AJAX:

$(document).ready(function() {
    $("#update_name_form").submit(function (e) {
        update_testrun($("#name"));
        return false;
    });
}
function update_testrun(element) {
    var name = element.attr('name');
    var new_value = element.val().trim();
    var data = {};
    data[name] = new_value;
    $.ajax({url: config.urls.api.testrun + testrun.id,
            type: "PUT",
            contentType: "application/json",
            data: JSON.stringify(data),
            error: function(jqXHR, textStatus, errorThrown) {
                    alert(errorThrown);
            },
            success: function (data, textStatus, jqXHR) {
                    testrun.overview[name] = new_value;
            }
    });
}

Ответы на вопрос(3)

Ваш ответ на вопрос