我有问题。我想从PHP文件发送3-4个变量到我的AJAX请求(通过json)......我确信我的代码是正确的,它不起作用。它什么都不做。如果我只是做一个正常的“回声”,那么一切都有效,但是json没有用吗?
这是我的JS代码:
$.ajax({
type: "POST",
url: "test.php",
data: "varA=" + varA + "&varB=" + varB,
dataType: json,
cache: false,
success: function(data1){
alert(data1.b);
if (data1.a == "success"){
alert("OK");
location.href = "index.html";
}
else{
alert("Not OK");
}
}
});
这是我的PHP代码:
...
$qry="SELECT * FROM database1 WHERE varA='".$_POST['varA']."' AND varB='".$_POST['varB']."'";
$result=mysql_query($qry);
if($result) {
if(mysql_num_rows($result) == 1) {
$test = mysql_fetch_assoc($result);
echo json_encode(array('a' => 'success', 'b' => $test['database_entry']));
...
我不知道为什么这个AJAX代码不会被解雇! 希望你能帮助我,谢谢!
答案 0 :(得分:2)
将您的数据作为JSON对象发送,而不是自生成的查询字符串:
data: {"varA": varA, "varB": varB},
dataType: json,
cache: false,
答案 1 :(得分:1)
您发送到ajax调用的数据是一个字符串,而它应该是一个对象或一个数组。
data: "varA=" + varA + "&varB=" + varB,
应该是
data: {"varA":varA,"varB":varB},
答案 2 :(得分:1)
你写错了你的错误
dataType: json,
这里json应该是一个字符串
dataType: 'json',
在你的代码中,它试图搜索不可用且因此未定义的变量json
,因此没有进行ajax调用