0

我有个问题。我想将 3-4 个变量从 PHP 文件发送到我的 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 代码不会被触发!希望你能帮助我,谢谢!

4

3 回答 3

2

将您的数据作为 JSON 对象发送,而不是自行生成的查询字符串:

data:  {"varA":  varA, "varB": varB},
dataType: json,
cache: false,
于 2012-05-07T13:18:47.230 回答
1

你写错了

dataType: json,

这里 json 应该在一个字符串中

dataType: 'json',

在您的代码中,它试图搜索json不可用且因此未定义的变量,因此不进行 ajax 调用

于 2012-05-07T13:35:31.713 回答
1

您发送给 ajax 调用的数据是一个字符串,而它应该是一个对象或数组。

data: "varA=" + varA + "&varB=" + varB,

应该

data: {"varA":varA,"varB":varB},
于 2012-05-07T13:18:44.057 回答