Ios Ajax POST请求在sencha应用程序+;框架

Ios Ajax POST请求在sencha应用程序+;框架,ios,ajax,cordova,sencha-touch,Ios,Ajax,Cordova,Sencha Touch,我正在用sencha touch 2.1.x开发一个sencha web应用程序 此应用程序需要在web服务器上运行,也需要在iOS应用程序上运行,并与phonegap 3.1打包 web服务器版本运行良好,但在执行Ajax POST请求时,我在iOS版本中遇到了一些问题。这是一个示例代码: var jsonParams = { "username": loginParams.user, "password": loginParams.pwd, "serverVersi

我正在用sencha touch 2.1.x开发一个sencha web应用程序 此应用程序需要在web服务器上运行,也需要在iOS应用程序上运行,并与phonegap 3.1打包

web服务器版本运行良好,但在执行Ajax POST请求时,我在iOS版本中遇到了一些问题。这是一个示例代码:

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) {
        .....
    },
});
有时,这个请求在使用phonegap打包的iOS版本中可以正常工作,但随机失败,因为post负载是空的。
console.log(jsonStr)
打印正确的数据,但服务器没有收到任何数据。我还使用HTTP嗅探器捕获发送的包,它不包含POST负载

将代码更改为user jQuery
$.ajax
而不是
Ext.ajax.request
,问题仍然存在。 你知道什么是错的吗


Thx看起来实际上是一个代理问题,与sencha或phonegap无关。 如果我停用代理,我不会得到其他外部资源,但这个问题永远不会发生。 将搜索如何解决代理问题。
谢谢

您的jsonParams总是一样的吗?对我来说,这似乎是逻辑上的失败点。jsonParams由用户输入的登录数据填充
console.log(jsonStr)
始终显示jsonParams数据是正确的。由于这在混合应用程序中失败,您是否可能正在嗅探CORS飞行前请求?那不会有实际的有效载荷。只要飞行前没有出现错误,飞行前会立即发出POST请求。不,不是这样。我正在嗅探POST请求,该请求有时包含用于登录的json数据,但有时不包含任何内容,content length=0,尽管console.log始终在jsonStr var中打印正确的数据。添加了
beforeSend
回调的实现,以检查请求数据,它是正确的,但服务器没有收到任何内容。服务器通过代理进行访问。这可能是代理问题吗?