2016-03-20 1 views
0

Я работаю над пакетным вызовом Ajax, отформатировал все данные в соответствии с стандартным пакетом oData, но каждый раз я запускаю вызов с использованием метода POST, я получаю 400 плохих запросов.Batch Call responseing 400 bad request

С другой стороны, если я скопирую тот же запрос и запустив его в почтовом клиенте REST, я получаю 202 принятых, что-то странно, может кто-то, пожалуйста, указать, если где-то я делаю это неправильно? Вот запрос:

//request body defined here 

--batch_1458506017890 
Content-Type: multipart/mixed; boundary=changeset_51 

--changeset_51 
Content-Type: application/http 
Content-Transfer-Encoding: binary 

PUT ObjectRAItemSet(ResourceAssignment='0000287725') HTTP/1.1 
Content-Type: application/json 

{"PeriodTotalCost":"16.23","PeriodHours":"0.000"} 

--changeset_51 
Content-Type: application/http 
Content-Transfer-Encoding: binary 

PUT ObjectRAItemSet(ResourceAssignment='0000287725') HTTP/1.1 
Content-Type: application/json 

{"PeriodTotalCost":"11.2","PeriodHours":"0.000"} 

--changeset_51-- 
--batch_1458506017890-- 

Вот Аякс вызов:

var boundary = new Date().getTime().toString(); 

$.ajax({ 
        method: 'POST', 
        url: serverURL+'$batch', 
        data: batchRequestBody, //request body defined before 
        //dataType: 'json', 
        //processData: false, 
        contentType: 'multipart/mixed;boundary=batch_'+ boundary, 
        //contentType: 'application/json; charset=utf-8', 
        success:function(res){ 
        console.log(res, 'success'); 
       }, 
       error:function(e){ 
        console.error(e, 'error'); 
       } 
      }); 
+0

Моих предположим, что 'batchRequestBody' не сериализуется правильно. Пробовали ли вы использовать прокси-сервер, такой как Fiddler, чтобы вы могли проверить запрос, отправленный вызовом '$ .ajax'? – lencharest

+0

Если я использую REST-клиент, например, расширение postman chrome, запрос работает нормально, нет ошибки для синтаксической ошибки, но фактический запрос во время работы над приложением по-прежнему не работает, как я могу использовать прокси-сервер с помощью Fiddler, любой пример будет оценен, – Nadeem

+0

[ Начало работы с прокси-сервером Fiddler Web Debugging Proxy] (https://www.youtube.com/watch?v=gujBKFGwjd4) – lencharest

ответ

0

Итак, я установил его, есть внутренняя установка куки на моем сервере (Nginx) Спасибо за помощь