我已经使用phonegap / android从远程服务器(使用localhost)使用jsonp从Db成功下载了数据,现在尝试使用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;
});
});
});
有什么想法我做错了吗?
还可以在浏览器中用于测试目的吗?
最佳答案
我的调试方式:
在chrome开发人员控制台中,检查响应和请求ajax调用的数据。它会告诉您会发生什么。
您将看到链接(如果ajax调用成功)
http://localhost/post_to_server/save.php
在chrome开发者控制台的“网络”标签中(即使使用FF)。单击该链接,您可以检查发布到脚本的内容以及wrt数据库的情况。
一旦确定了ajax调用中发布的内容,就可以从那里继续进行。