Пользовательский HTTP-глагол с jQuery.ajax () - PullRequest
3 голосов
/ 20 июля 2010

Можно ли использовать собственный HTTP VERB, например, MERGE, с jQuery.ajax ()?Я взаимодействую с OData API, который ожидает глагола MERGE при публикации обновлений записей.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я использую «MERGE» в запросе ajax (), он не 'отправлять данные на сервер.Он просто отправляет запрос MERGE без данных, поэтому служба OData отклоняет его.

Когда я изменяю запрос на PUT, служба OData отправляет обратно ошибку 500.

В основном я могу выяснить, как получить вызовы "MERGE" для отправки данных вместе с запросом, выполнить УДАЛЕНИЕ, а затем POST (удалить и заново создать запись при каждом обновлении) или выяснить,как изменить службу OData для приема PUT для обновлений.

Сообщите, если у вас есть какие-либо идеи о том, как заставить jQuery.ajax () отправлять данные с запросом MERGE.

Спасибо

1012 * Дейв

Ответы [ 3 ]

6 голосов
/ 20 июля 2010

Это не вопрос способности jQuery обрабатывать пользовательские HTTP-глаголы, это зависит от браузера .

4 голосов
/ 21 июля 2010

OData поддерживает туннелирование MERGE через POST - что, конечно, поддерживается через JQuery - путем добавления заголовка X-HTTP-метода.

См. Этот поток дляподробнее

Алекс

Менеджер программ OData Microsoft

1 голос
/ 20 июля 2010

Найден через этот вопрос , здесь - это интересная статья в блоге.

Ответ - по крайней мере, в 2008 году - если я правильно прочитал:

  • IE, похоже, не поддерживает его (по крайней мере, до версии 7)

  • Firefox поддерживает его

  • Опера превращает все неизвестное в GET запрос

Я думаю, вам придется попробовать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...