JQGrid с сервисами данных WCF (OData); loadBeforeSend не вызывается в режиме редактирования; Не могу сделать setRequestHeader

У меня небольшая проблема с этим фантастическим плагином jqgrid, и я пытаюсь использовать его с WCF Data Services (не совсем, но с очень похожими сервисами odata4j). Кстати, если кто-то думает об использовании jqgrid со службами odata, пришлите мне строку, я нашел ответы на сложные вопросы, такие как, например, как настроить grid xmlreader для чтения структуры XML odata, побеждающей проблему поиска в пространстве имен jquery ( Рекомендации:

включаютjquery.xmlns.js

<code>.....
$.xmlns.m = "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata";
$.xmlns.d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
.....
var feedXmlReaderOptions = {
    root: "feed",
    row: "entry",
    repeatitems: false,
    id: "feed>entry>id"
};
....
    colModel: [
    {
        name: "clmNumKey", 
        index: "clmNumKey", 
        width: 150, 
        xmlmap: "d|clmNum",
        editable: true
    }
    ....
)
</code>

В любом случае, проблема заключается в том, что сервисам odata нужен метод, который обращается к операции редактирования (DELETE, PUT, MERGE), чтобы он отправлялся как пользовательский заголовок запроса на обычном POST, а не как метод http. Причина этого заключается в том, что большинство брандмауэров не разрешают проходить HTTP-методы PUT и DELETE, потому что именно так вы можете, например, размещать новые файлы на сервере, а также удалять файлы, если вы можете угадать действительный путь. Короче говоря ... событие loadBeforeSend не вызывается для встроенного редактирования или редактирования формы ... Я вижу, что оно запускается при полном запросе данных в сетке, но я получаю толькоserializeEditData событие срабатывает, когда я отправляю из формы редактирования. Я волнуюсь, потому что я вошел в исходные файлы jqgrid (grid.formedit.js, grid.inlineedit.js) и я не смог получить какие-либо совпадения с ключевыми словами beforesend, там отображается только serializeeditdata. Я что-то пропустил? Есть ли другой способ установить нужные мне заголовки наxhr ajax объект сетка использует? В том, чтоxhr объект выставлен сеткой?

Ниже у вас есть код, который я должен обработать события редактирования ... опять же, loadBeforeSend не срабатывает ...

Заранее спасибо, Serban

<code>$.extend($.jgrid.edit, {
    closeAfterEdit: true,
    closeAfterAdd: true,
    ajaxEditOptions: {
        contentType: "application/json"
    },
    mtype: 'POST',
    loadBeforeSend: function(xhr)
    {
        xhr.setRequestHeader("X-HTTP-Method", "MERGE");
        return xhr;
    },        
    serializeEditData: function (data) {
        delete data.oper;
        return JSON.stringify(data);
    }
});                                                  
</code>

Ответы на вопрос(1)

Ваш ответ на вопрос