Я разрабатываю веб-приложение sencha с помощью sencha touch 2.1.x Это приложение должно запускаться на веб-сервере, а также в приложении iOS, в комплекте с телефонной записью 3.1.Ajax POST просит потерять полезную нагрузку в приложении sencha + phonegap
Версия веб-сервера работает хорошо, но я сталкиваюсь с некоторыми проблемами в версии iOS при выполнении запросов AJAX POST. Это пример кода:
var jsonParams =
{
"username": loginParams.user,
"password": loginParams.pwd,
"serverVersion": serverVersion
};
var jsonStr = JSON.stringify(jsonParams);
console.log(jsonStr);
Ext.Ajax.request({
url: internalRoute.LOGIN,
headers: {'Content-Type':'application/json'},
method: 'POST',
scope:this,
params: jsonStr,
success: function(response){
.....
},
failure: function(response) {
.....
},
});
Иногда запросы отлично работает с версией IOS упакованной с PhoneGap, но случайно он терпит неудачу, потому что после полезной нагрузки пуст. console.log(jsonStr)
печатает правильные данные, но сервер не получает данных. Я также использовал HTTP-сниффер для захвата отправленного пакета и не содержит полезной нагрузки POST.
Изменен код пользователем jQuery $.ajax
вместо Ext.Ajax.request
, и проблема не устранена. Любая идея, что может быть неправильным?
Thx
Являются ли ваши jsonParams всегда одинаковыми? Казалось бы, что логическая ошибка указывает на меня. – arthurakay
jsonParams заполняется регистрационными данными, введенными пользователем. 'console.log (jsonStr)' всегда показывает, что данные jsonParams верны. – Xavisan
Поскольку это не работает внутри гибридного приложения, возможно ли, что вы нюхаете запрос перед полетом CORS? Это не имело бы реальной полезной нагрузки. Перед полетом немедленно следует запрос POST до тех пор, пока предполетный рейс не попадет в сообщение об ошибке. – arthurakay