Так что это работало до тех пор, пока я не сделал одно изменение, и теперь оно работает только тогда, когда я получаю доступ к мобильной версии сайта через Chrome, но больше не на любых мобильных устройствах. Странно то, что, поскольку он работает через браузер Chrome, я не могу воспроизвести проблему. Это мой вызов AJAX:
Ext.Ajax.request({
url: '/Home/PostMessage',
// url to post msg..
method: 'POST',
params: {
message: Ext.getCmp('msgText').getValue(),
lat: initialLocation.lat(),
lng: initialLocation.lng(),
loc: loc,
name: '',
parentId: 0,
FBId: 0
},
success: function() {
//Ext.getCmp('post-bar').hide({type: 'pop'});
Ext.getCmp('post-bar').hide();
setTimeout(function() {
Ext.getCmp('posts-tab').doComponentLayout();
},
300);
jabsy.stores.Listpost.load();
},
failure: function() {
navigator.notification.alert('Could not post your message', // message
'Server Error!', // title
'OK' // buttonName
);
}
});
Единственное, что я добавил, это добавление параметра FBId
к пост-параметрам. Метод действия, который получает параметры, выглядит следующим образом:
public ActionResult PostMessage(double? lat, double? lng, string message, string loc, string name, int parentId, int FBId)
{
var match = Regex.Match(message, @"^\s*(.)(?:\1|\s)*$");
string ip = string.IsNullOrWhiteSpace(Request.ServerVariables["REMOTE_ADDR"].ToString()) ? "" : Request.ServerVariables["REMOTE_ADDR"];
if (lat.HasValue && lng.HasValue && (message.Length <= 100) && !match.Success && !string.IsNullOrWhiteSpace(message))
{
DAL dal = new DAL();
bool success = dal.spInsertMessage(message, lat.Value, lng.Value, ip, loc, name, parentId, FBId.ToString());
return Json(success);
}
else
{
return Json(false);
}
}
Как я уже сказал, он все еще работает, если вы заходите на мобильный сайт из Chrome.
Если вы хотите протестировать его самостоятельно, перейдите по адресу www.jabsy.com / Home / MobileHome в браузере Chrome или Safari (должен быть webkit), попробуйте и подтвердите, что он работает, но он не публикует сообщения с мобильных устройств после добавления этого параметра. Я не могу на всю жизнь понять, почему. Никаких ошибок не появляется, они просто не будут публиковать сообщения.
Есть ли у Sencha Touch какой-либо лимит параметров AJAX или что-то в этом роде? Но даже если они это сделали, это также должно помешать ему работать через настольный браузер правильно ?? Я не могу на самом деле проверить, если он делает это на сервер, а затем что-то идет не так, или он просто никогда не делает это, потому что я не знаю ни одного способа проверить это с мобильного устройства, поэтому я в темноте о том, что происходит.
Так растерялся.