2013-10-15 4 views
2

Я создаю приложение phonegap, которое должно поддерживать пряничный андроид. Устройство имбирных пряников не может успешно выполнить ajax-запросы к API-интерфейсу службы. Никакая другая аппаратура не имеет этой проблемы. Я всегда возвращаюсь:Прямоугольное устройство, бросающее 411 на запросы ajax

HTTP Error 411. The request must be chunked or have a content length. 

В результате некоторых поисковых запросов, как правило, это не ошибка устройства. Вот код, я использую:

var addItemToList = function (itemId, successCallback, errorCallback) { 
    var address = appContext.createEndPointAddress("/List/" + itemId); 
    $.ajax({ 
     type: 'PUT', 
     url: address, 
     dataType: "json", 
     success: successCallback, 
     error: errorCallback, 
     headers: { 
      "Authorization": appContext.getAuthHeader(), 
      Accept: 
       "application/site.error-ver1+json, application/site.success-ver1+json" 
     } 
    }); 
}; 

Я предполагаю, что он должен делать с заголовка запроса формируется любым браузером пряники использует. Что мне нужно сделать, чтобы восстановить неисправный заголовок?

+1

Что произойдет, если вы попытаетесь добавить пустые 'данные' к вызову ajax (например,' data: {}, ... ')? –

+0

console.log (адрес); .... возможно, ваш url слишком длинный – Hackerman

+0

В настоящее время создается сборка с пустым полем данных. Адрес URL-адреса, вероятно, не слишком длинный: (http: //) localhost: 61962/api/List/12345 – jokulmorder

ответ

2

Исправлена ​​ошибка. По-видимому, запросы PUT обычно не создаются без тела. Таким образом, добавление строки:

data: "{}", 

исправлена ​​проблема.