2014-01-21 4 views
0
$("#liveRTMessages").jqGrid({ 
    url: $RT.ENDPOINT, 
    datatype: "json", 
    postData: { 'system': null }, 
    mtype: "POST", 
    height: "100%", 
    colNames: $RT.colNames, 
    colModel: $RT.MessageModel, 
    ajaxGridOptions: { contentType: 'application/json; charset=utf-8' }, 
    gridview: true, 
    loadBeforeSend: function (xhr) { 


// for testing only 
     $.ajax({ 
      type: "POST", 
      url: $RT.ENDPOINT, 
      data: {}, 
      datatype: "json", 
      contentType: 'application/json; charset=utf8', 
      success: function (data) { 
       var t = data; 
      } 
     }); 
    }, 
    serializeGridData: function (postData) { 
     if (postData.searchField === undefined) postData.searchField = null; 
     if (postData.searchString === undefined) postData.searchString = null; 
     if (postData.searchOper === undefined) postData.searchOper = null; 
     //if (postData.filters === undefined) postData.filters = null; 
     return JSON.stringify(postData); 
    }, 
    jsonReader: { 
     repeatitems: false, 
     root: function (obj) { return obj.d.rows; }, 
     page: function (obj) { return obj.d.page; }, 
     total: function (obj) { return obj.d.total; }, 
     records: function (obj) { return obj.d.records; } 
    }, 
    loadComplete: function (data) { 
     // future event handling, very last grid event thrown 
    }, 
    loadError: function (xhr, status, error) { 
     return; 
    } 
}); 

У меня есть jqGrid, работающий отлично для запросов GET. Однако POST не работает, потому что я не могу установить contentType в HTTP-запросе. IIS ожидает «application/json» в качестве contentType для запроса. Это отлично работает с использованием $ .ajax.jqGrid contentType заголовок не устанавливается

Что более интересно, так это то, что loadBeforeSend (выше) может добавлять заголовок запроса contentType.

Я хотел был бы иметь возможность добавить application/json как contentType когда jqGrid делает запрос HTTP в этом случае.

Действительно надеясь, что есть что-то, что я забыл.

ответ

0

У меня была библиотека jQuery.XDomainRequest для запросов на междоменные запросы, которые мне пришлось удалить, чтобы получить эту работу. jqGrid работает с заголовком запроса contentType.

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