【发布时间】:2015-05-25 17:42:43
【问题描述】:
我必须做一个应用程序,我决定使用PhoneGap,但是我的Ajax总是说“错误”,我不知道为什么,因为插入效果很好......
$("#test").click(function() {
var name = $("#name").val();
var password = $("#password").val();
alert(name+' '+password);
$.ajax({
type: "POST",
url: "http://191.165.1.16/PULZ/ajax_action.php",
// contentType: "application/json; charset=utf-8",
dataType: "json",
data : {
actionname : 'insert',
name:name,
password:password
},
success: function(data) {
alert("work");
},
error: function(data) {
alert("There was an error loading the feed");
}
});
});
还有我的 PHP 代码
if (isset($_POST["actionname"]) && !empty($_POST['actionname'])){
$actionname = $_POST['actionname'];
if($actionname == 'insert'){
$connect = new PDOsql();
$name = $_POST['name'];
$password = md5($_POST['password']);
$sql="INSERT INTO user(name,password) VALUES(?,?)";
$opt = array($name, $password);
$connect->query($sql,$opt);
$connect = null;
die(
json_encode(
array(
'state'=>'success'
)
)
);
}
}
【问题讨论】:
-
尝试删除“type:”、“url:”、“dataType:”等,保留值
-
只需从您的 php 中返回一个 json 字符串,以检查是否有问题...如果它工作正常,您知道在哪里搜索...
-
你真的有
PDOsql的课程吗?该类的query()方法是否准备和执行查询?并检查控制台给出的响应。 -
直接在地址栏检查 php url 并给出硬编码的 post 值,看看输出是什么。如果您在响应时收到任何错误或警告,您的 ajax 将失败,因为它正在接受 json
-
无论如何,老实说,这只是一个愉快的猜测。分别检查服务器/客户端。尝试从 curl 命令或 Postman 调用服务器脚本,看看它返回什么,它是什么格式等。然后当你确定它有效时,让客户端正确调用它