使用phonegap / android我已经使用来自远程服务器的jsonp成功从Db下载数据(使用localhost)现在尝试使用jquery / ajax 上传数据。 进程似乎正在运行,但没有上传数据(即数据未出现在MySql Db中) 我使用localhost作为Db进行测试。 代码::
**save.php**
<?php
$con=mysql_connect("localhost","root","","sean") ;
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO contacts(id, cusname, custaddress)
VALUES
('$_POST[id]','$_POST[cusname]','$_POST[custaddress]')";
if (!mysql_query($sql, $con)) {
die('Error: ' . mysql_error());
} else {
echo "Comment added";
}
mysql_close($con);
?>
**post.js**
$(document).bind('deviceready', function(){
$(function(){
$('form').submit(function(){
var postData = $(this).serialize();
$.ajax({
type: 'POST',
data: postData,
//change the url for your project
url: 'http://localhost/post_to_server/save.php',
success: function(data){
console.log(data);
alert('Details successfully added');
},
error: function(){
console.log(data);
alert('There was an error adding details');
}
});
return false;
});
});
});
任何想法我做错了什么? 这也应该在浏览器中用于测试目的吗?
答案 0 :(得分:0)
我的调试方式:
在chrome开发者控制台中,检查ajax调用的响应和请求数据。它会告诉你会发生什么。
您将看到链接(如果ajax调用成功)
http://localhost/post_to_server/save.php
在Chrome开发者控制台的“网络”标签中(即使使用FF)。单击该链接,您可以检查发布到脚本的内容以及数据库发生的情况。
一旦你确定了ajax电话中发布的内容,就可以从那里开始。