2015-02-14 3 views
0

Основная часть этого вопроса связана с тем, как я могу определить маршрут в файле javascript. В то же время я просто хочу убедиться, что я делаю это нормально. По существу, на моей странице просмотра я вижу свои записи. Когда я выдаю записи, каждая строка, которую я даюSymfony2/Javascript delete alert

<input type="button" value="Delete" onclick="delete_alert({{ alert[0].id }})"/> 

Это дает пользователю возможность удалить предупреждение. Прежде чем идти прямо в вещи, мне нравится сначала отправить его на javascript.

function delete_alert(id){ 
    var answer = confirm("Confirm delete"); 
    if (answer){ 
     $.get("NickAlertBundle_delete", { row: id }); 
    } 
} 

Так что, если удаление подтверждается, он называет этот маршрут

NickAlertBundle_delete: 
    pattern: /view-alerts 
    defaults: { _controller: NickAlertBundle:Alert:delete } 
    requirements: 
     _method: GET 

Мой первый вопрос здесь они удалялись предупреждение от просмотра страниц-оповещения. Как только они подтвердят удаление, я не хочу, чтобы они уходили куда угодно, просто обновите страницу просмотра предупреждений (так как это приведет к удалению удаленного предупреждения). Но дает ли маршрут удаления шаблон просмотра - оповещения, запутывающие или неправильные? Его то, что я хочу сделать, поскольку я хочу, чтобы они остались на этой странице, просто не чувствуют себя хорошо.

Во всяком случае, моя реальная проблема заключается ошибка

Нет маршрута не найдено для GET/NickAlertBundle_delete (от http://localhost:8000/view-alerts;) (404 Not Found)

Так что я не думаю, что так, как я определить маршрут в моем файле javascript правильно. Итак, как я могу исправить этот маршрут? Спасибо

ответ

2

Я думаю, вы должны использовать URL-адрес в качестве первого параметра для jQuery get. В настоящее время вы используете имя маршрута Symfony2, а не URL.

Изменить его на /alert-views.

ИЛИ:

Вы можете добавить атрибут данных к кнопке HTML, который будет содержать свой путь, если вы используете Twig в качестве шаблонного движка, вы можете написать что-то вроде:

data-url={{path('NickAlertBundle_delete')}} 

Затем с помощью функции attr() JQuery OnClick на кнопке:

var url = $(this).attr('data-url'); 

Наконец, в JQuery get функция может быть отправлена ​​на номер url.

Надеюсь, это поможет.

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