ajax代码在android中运行,在iOS上失败

时间:2012-02-16 17:33:10

标签: ios ajax cordova

我已经编写了一款适用于Android的应用程序。我已经为iOS版本添加了相同的代码并将其加载到我的ipod touch 2nd gen上。应用程序中的所有内容都显示正常,但似乎无法发送/接收ajax请求。在我的应用程序上有登录,我使用ajax调用登录.ipod正在连接到互联网,所以我不太清楚为什么这段代码不起作用。

是因为它是一部旧手机吗?我构建了应用程序以支持iOS 3.0。还有什么可能呢?

感谢

编辑: 是的,这纯粹是一个webapp,我正在处理ajax问题。这是特别的部分:

$.ajax({
    type: "POST",
    url: "https://website.com/a/login/",
    data: data,
    dataType: "json",
    async: false
}).success(function (data) {
    window.localStorage.setItem("token", data["token"]);
    window.localStorage.setItem("oid", data["oid"]);
    //   alert(data["token"]);
}).error(function (a, b, c) {
    $('#submit').button('enable');
    alert("One of your credentials is incorrect, please try again");
});

2 个答案:

答案 0 :(得分:2)

我要检查的两件事......

1 - 您是否在“ExternalHosts”键下的PhoneGap.plist中添加了主机?

2 - SSL证书是自签名的吗? < - 如果没有Objective-C插件,这不起作用

这两个项目都在这里讨论:http://wiki.phonegap.com/w/page/41631150/PhoneGap%20for%20iOS%20FAQ

答案 1 :(得分:2)

如果Deric的第一个建议不起作用,您可以尝试在AppDelegate.m

结束时添加它。
@implementation NSURLRequest(DataController)
+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
    return YES; 
}
@end