我使用 Phonegap 和 jQuery Mobile 编写了一个应用程序。它在 Android 上运行良好,但我现在正尝试在 iOS 上实现它。将 XCode 4.3.3 与 iOS 5.1、Phonegap 1.7、jQuery 1.7.1、jqQuery Mobile 1.1 一起使用。应用程序的第一部分是登录。我的 javascript 等待deviceready
事件,然后发布到 PHP 页面以检查登录凭据。
我已经放置了一堆警报,并且 js 触发良好,直到 post 方法,此时它死了。第一次遇到白名单异常错误,所以我在 Cordova.plist 中的 ExternHosts 中添加了一个条目。现在,当它发布时,我没有收到任何错误或任何东西。这是我的html页面:
<!DOCTYPE HTML>
<html>
<head>
<title>Login</title>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="jquery/jquery.mobile.css" type="text/css" charset="utf-8" />
<script type="text/javascript" charset="utf-8" src="js/login1.js"></script>
</head>
<body onload="init()">
<div id="loginPage" data-role="page">
<div data-role="header" data-position="fixed" data-theme="b">
<h1>Sign In</h1>
</div>
<div data-role="content">
<form id="loginForm">
<div data-role="fieldcontain" class="ui-hide-label">
<label for="username">Username:</label>
<input type="text" name="username" id="username" value="" placeholder="Username" />
</div>
<div data-role="fieldcontain" class="ui-hide-label">
<label for="password">Password:</label>
<input type="password" name="password" id="password" value="" placeholder="Password" />
</div>
<input type="submit" value="Login" id="submitButton">
</form>
</div>
<div data-role="footer" data-id="foo1" data-position="fixed" data-theme="b">
<h4>Stone Creek Portal</h4>
</div><!-- /footer -->
</div>
<script type="text/javascript" src="jquery/jquery-1.7.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="cordova-1.7.0.js"></script>
<script type="text/javascript" src="cordova-WebInspector.js"></script>
<script src="jquery/jquery.mobile-1.1.0.js"></script>
</html>
这是我的 Javascript:
function init() {
document.addEventListener("deviceready", deviceReady, false);
delete init;
}
function deviceReady() {
$("#loginForm").on("submit",function(e) {
$('#loginForm').attr('autocomplete', 'off');
$("#submitButton",this).attr("disabled","disabled");
var u = $("#username", this).val();
var p = $("#password", this).val();
if(u != '' && p!= '') {
navigator.notification.alert("before the post");
$.post("http://someurl.php", {username:u,password:p}, function(res) {
if(res.result != 'false'){
var userID = res.result;
localStorage.setItem('userID',userID);
$.mobile.changePage("projectList.html");
} else {
navigator.notification.alert("Your login failed", function() {});
}
$("#submitButton").removeAttr("disabled");
},"json");
}
return false;
});
}
我真的不确定是什么阻止了我。任何建议将不胜感激。谢谢!