我正在使用phonegap,html,ajax,jquery,mysql和php。
在我的Phonagep应用程序中,我有包含用户名,密码,用户照片的表格。
我想从 html 页面提交此表单。 比方说注册.html
表单数据应该发送到 PHP 页面,该页面上传到我的服务器上名为服务的文件夹中,假设路径为"http://www.example.com/services/register.php"。
此页面应处理MySQL插入过程到也上载在同一服务器上的数据库。
在此服务器上,我还有名为图像的文件夹,其中应上传用户图像并将其完整浴插入mysql数据库中。
我尝试使用 ajax 将用户名和密码发布到此页面并成功插入数据。 但是在使用序列化()时我遇到了数据问题。
我也无法使用 ajax 上传图像?
我使用了这段代码..我在没有发送图像路径的情况下收到用户名和密码的响应,但在发送图像路径时没有任何反应
<html>
<head>
<title>Basic Upload</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type='text/javascript' src='http://code.jquery.com/jquery-latest.pack.js'></script>
<script type="text/javascript" charset="utf-8">
function sub(e){
var ft = new FileTransfer();
var options = new FileUploadOptions();
options.fileKey="myImg";
options.fileName=$('#myImg').val();
options.mimeType="image/jpeg";
options.mimeType="image/png";
options.chunkedMode = false;
var PATH = options.fileName;
var form_data= new Object();
form_data['user_name']= 'User';
form_data['password']= '1234';
form_data['user_image_path']= PATH;
var url = "http://localhost/stacktest/register.php";
$.getJSON(""+url+"?callback=?"+"&form_data="+JSON.stringify(form_data),
function (response) {
try {
// Get Your Response
alert(response);
}
catch(ex) {
console.log(ex);
}
}
);
}
</script>
</head>
<body>
<form method="post" enctype="multipart/form-data" id="registerForm" onsubmit="sub(this.value);">
<input type="file" name="myImg" id="myImg" />
<input type="submit" value="Upload" name="submitButton" id="submitButton" />
</form>
</body>
</html>
您应该将 PHP Web Service 与 Json 一起使用来执行以下任务
访问网络服务,如:-
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
var PATH = 'Image Path';
var form_data= new Object();
form_data['user_name']= 'User';
form_data['password']= '1234';
form_data['user_image_path']= PATH;
var url = "http://localhost/stacktest/register.php";
$.getJSON(""+url+"?callback=?"+"&form_data="+JSON.stringify(form_data),
function (response) {
try {
// Get Your Response
alert(response);
}
catch(ex) {
console.log(ex);
}
}
);
</script>
创建 PHP Webservice(register.php),如下所示:-
<?php
$form_data = json_decode(stripslashes($_GET["form_data"]));
$user_name = $form_data->user_name;
$password = $form_data->password;
$user_image_path = $form_data->user_image_path;
//Perform Your Task like Insert into Database etc
$res= 'Your Response which you want to return';
echo $_GET["callback"].'('.json_encode($res).')';
我认为您的路径不正确,因为 Web 服务无法访问您的应用程序范围内的文件的路径。 要上传您的文件 阅读更多 关于 科尔多瓦 文件传输
[更新]
您可以从 GitHub 下载工作项目
阅读Phonegap文件上传博客