[英]Problem posting data from Cordova app to a server using jQuery
[英]Posting data from a PhoneGap app to a server
我是電話缺口的新手。 我正在開發一個具有注冊頁面的應用程序。 我編寫了以下代碼,用於將表單數據提交到服務器。 它工作正常。 但是我的問題是,提交表單后,它重定向到了我在“操作”中提供的URL。
現在,我想在成功將數據提交到服務器而不重定向到URL后顯示警報。如何實現?
<script>
function validateUserName(regform)
{
var u = document.forms["regform"]["usr"].value
var uLength = u.length;
var illegalChars = /\W/; // allow letters, numbers, and underscores
if (u == null || u == "")
{
alert("You left Username field empty");
return false;
}
else if (uLength <4 || uLength > 11)
{
alert("The Username must be between 4 and 11 characters");
return false;
}
else if (illegalChars.test(u))
{
alert("The username contains illegal characters");
return false;
}
else
{
return true;
}
}
function validatePassword(regform)
{
var p = document.forms["regform"]["pass"].value
var cP = document.forms["regform"]["cop"].value
var pLength = p.length;
if (p == null || p == "")
{
alert("You left the password field empty");
return false;
}
else if (pLength < 6 || pLength > 20)
{
alert("Your password must be between 6 and 20 characters in length");
return false;
}
else if (p != cP)
{
alert("Th passwords do not match!");
return false;
}
else
{
return true;
}
}
function validateMobileNumber(regform)
{
var f = document.forms["regform"]["mob"].value;
var mLength = f.length;
if(mLength < 10)
{
alert("Please Enter A Valid Mobile Number");
return false;
}
else
{
return true;
}
}
function validateForm() {
if(validateUserName() && validatePassword() && validateMobileNumber())
return true;
else
return false;
}
</script>
</head>
<body>
<h1>Registration</h1>
<form name="regform" onsubmit="validateForm()" action="URL" method="post">
<table>
<tr>
<td><label>Username:</label></td>
<td><input type="text" name="usr"/></td>
</tr>
<tr>
<td><label>Password:</label></td>
<td><input type="password" name="pass"/></td>
</tr>
<tr>
<td><label>Confirm Password:</label></td>
<td><input type="password" name="cop"/></td>
</tr>
<tr>
<td><label>Mobile Number:</label></td>
<td><input type="text" name="mob"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" onclick = "return validateForm();" value="Register" class="row1" method="post"/>
</td>
</tr>
</table>
</form>
</body>
</html>
我建議您使用ajax。 添加每個輸入字段的ID。
javascript
formData = {
// all your parameters here
usr: $("#usr"),
pass: $("#pass"),
cop: $("#cop"),
mob: $("#mob")
}
$.ajax({
type: 'POST',
contentType: 'application/json',
url: "URL",
dataType: "json",
data: formData,
success: function(data) {
//success handling
},
error: function(data) {
//error handling
}
});
所有這些函數返回true后,您將運行此腳本
validateUserName()
validatePassword()
validateMobileNumber()
確保您使用JSON格式進行請求和響應。 否則,它將無法正常工作。 轉換您的php邏輯,以便可以使用JSON格式請求和響應數據。
參考: http : //www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.