ajax — ошибка Backbone / PHP destroy / DELETE request

Я использую Backbone.js с PHP на стороне сервера. Моя версия PHP 5.3.6 и поэтому поддерживает пространства имен.

Я могу сделать модель .save() а также .fetch() запросы в порядке, запросы отправляются, а PHP обрабатывает запросы и возвращает json.

Проблема, которую я имею, пытается сделать .destroy() запрос (с которым я делать отправить идентификатор). Ответ от .destroy() запрос возвращает ошибку и responseText из:

<b>Parse error</b>:  syntax error, unexpected T_STRING in <b>C:\myfolder\api.php</b> on line <b>9</b><br />

Строка 9 в api.php просто: namespace App; (это самая первая строка в моем PHP).

Как я и сказал, .save() (POST) и .fetch() (GET) запросы работают, никаких ошибок в этой строке, но .destroy() (DELETE) запрос делает ошибку в этой строке.

я использую ajaxPrefilter Записать параметры ajax на консоль, которая показывает:

dataType: "json"type: "DELETE"url: "/api/v1/authenticate/10"

Все из которых кажется правильным.

Почему я могу получить такую ​​ошибку PHP для RESTful DELETE запрос, а не для RESTful POST а также GET Запросы..?

0

Решение

Да, получается, что я было используя более старую версию PHP, а именно версию 5.2.1.4.

В IIS мой сайт был настроен на использование 5.3.6 в разделе «Диспетчер PHP», однако было указано «Отображение обработчика» .php файлы к 5.2.1.4.

Таким образом, сообщение об ошибке было правильным, моя версия PHP не поддерживала пространства имен.

ОБНОВИТЬ

После дополнительной проверки я теперь лучше понимаю. У меня было две записи сопоставления обработчиков для .php, Один для 5.3.6 (позволяющий GET & POST) и один для 5.2.1.4 (разрешающий все глаголы, включая DELETE).

Так что мой GET а также POST Глаголы были обработаны в 5.3.6, но мой DELETE обрабатывался 5.2.1.4 — следовательно, ошибка, связанная с пространством имен, но только на DELETE Запросы.

Итак, урок … При использовании IIS и PHP, проверьте сопоставления обработчиков для .php файлы, чтобы убедиться, что вы используете правильную версию, а также проверить, какие глаголы принимаются в отображениях вашего обработчика.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector