我使用了以下技術: - jQuery Mobile的1.0.1 - PhoneGap的1.3.0 - Xcode的4.2如何將表單數據從原生jQuery移動應用程序發送到遠程服務器?
當我嘗試提交表單數據到遠程服務器,我使用的應用程序獲得成功通過瀏覽器。
當我嘗試使用應用程序本地提交表單數據到遠程服務器時,我無法發送。
我需要一些插件PhoneGap? 我需要一些設置Xcode?
下面的示例代碼是在iPhone模擬器5.0上運行:
<html>
<head>
<title>Page Title</title>
<link rel="stylesheet" href="scripts/jquery.mobile-1.0.min.css" />
<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript" src="scripts/jquery.mobile-1.0.min.js"></script>
<script>
$(document).ready(function() {
$('#loginForm').submit(function() {
$('#output').html('Connecting....');
var postTo = 'http://myserver/login.php';
$.post(postTo,{username: $('[name=username]').val() , password: $('[name=password]').val()} ,
function(data) {
if(data.message) {
$('#output').html(data.message);
} else {
$('#output').html('Could not connect');
}
},'json');
return false;
});
});
</script>
</head>
<body>
<!-- Start of first page -->
<div data-role="page" id="foo">
<div data-role="header">
<h1>Foo</h1>
</div><!-- /header -->
<div data-role="content">
<p id="output"></p>
<form method="post" id="loginForm">
Username: <input type="text" name="username"> <br /> <br />
Password: <input type="password" name="password"> <br />
<input type="submit" value="Login">
</form>
</div><!-- /content -->
<div data-role="footer">
<h4>Page Footer</h4>
</div><!-- /header -->
</div><!-- /page -->
</body>
</html>
在我的服務器:(login.php中)
<?php
if(isset($_POST['username']) and isset($_POST['password'])) {
if ($_POST['username'] == 'test' and $_POST['password'] == 'test') {
$data['success'] = true;
$data['message'] = 'Login succesful';
} else {
$data['success'] = false;
$data['message'] = 'Login failed';
}
// return json
echo json_encode($data);
}
?>
沒有人有任何想法如何解決這個問題?
當您提交表單時會發生什麼? AJAX回調是否運行?如果不是,請添加一個'error'回調來查看錯誤。 – Jasper 2012-01-30 08:18:51