Я пытаюсь создать простой плагин TODO, используя Backbone, и столкнулся с проблемой с AJAX API. Для получения правильного обратного вызова AJAX вы должны передать параметр "action" следующим образом:
админ-ajax.php? действие = get_todos
который отлично работает для метода GET в Backbone. Однако при использовании DELETE Backbone по умолчанию будет использоваться такой URL-адрес:
админ-ajax.php? действие = get_todos / 9
где «9» - идентификатор удаляемой задачи. Добавляя этот идентификатор, он прерывает вызов AJAX на стороне WordPress. Я могу вручную переопределить URL-адреса для каждого из методов, но я хотел бы знать, есть ли более элегантный способ заставить AJAX API работать с Backbone.
Я создал демонстрационный плагин, который показывает конкретную проблему, с которой я столкнулся. Загрузите страницу настроек и нажмите любую из X, наблюдая за вашим Инспектором сети, чтобы увидеть результаты AJAX со значением 0, полученные из WordPress.
https://github.com/hereswhatidid/wordpress-todo-backbone-demo