Ajax POST请求在sencha app + phonegap中丢失有效负载

时间:2014-01-07 09:07:29

标签: 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,
    "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有效负载。

将代码更改为用户jQuery $.ajax而不是Ext.Ajax.request,问题仍然存在。 知道什么可能是错的吗?

THX

1 个答案:

答案 0 :(得分:0)

看起来它实际上是代理问题,与sencha或phonegap无关。 如果我停用代理,我没有获得其他外部资源,但这个问题永远不会发生。 将搜索如何修复代理问题。 感谢