Play 2.x: Как сделать запрос AJAX с помощью общей кнопки

Итак, я успешно заставлял запросы ajax работать раньше, но мне всегда приходилось использовать форму, а затем в конце отправки возвращать false, чтобы страница не обновлялась.

Недавно я также переместил свой javascript в отдельный файл, что привело к сбою моих @-команд. Из-за этого я не знаю, как установить мой URL-адрес на мой маршрут?

Html:

<button id="saveAsDefaultButton">Save as default</button>

Java-код Playframework:

public static Result saveDefaultPhoneForUser(String handset) {
    User currentUser = User.findByName(session("name"));
    currentUser.lastControlledHandset = theHandset;
    currentUser.save();
    return ok();
}

route:

POST    /                           controllers.Application.saveDefaultPhoneForUser(handset : String)

javascript:

$('#saveAsDefaultButton').click(function(evt) {
        $('#errors').hide();
        $.ajax({
            type : 'POST',
            url : "controllers.Application.saveDefaultPhoneForUser",
            data : $('#controlledPhone option:selected').text(),
            dataType : "text",
            success : function(data) {
                //setError('Call succedded');
                //$('#test1').attr("src", data)
            },
            error : function(data) {
                setError('Make call failed');
            }
        });
        return false;
    });

Я уверен, что есть способ сделать это. Мне просто не повезло найти что-либо. Любая помощь очень приветствуется.

59
задан Saeed Zarinfam 19 July 2016 в 10:07
поделиться