0

私は問題があります。PHPファイルからAJAXリクエストに(json経由で)3〜4個の変数を送信したいのですが、コードが正しいと確信していますが、機能しません。何もしていません。通常の「エコー」を実行している場合、すべてが正常に機能しますが、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

ajax呼び出しに送信するデータは文字列ですが、オブジェクトまたは配列である必要があります。

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

する必要があります

data: {"varA":varA,"varB":varB},
于 2012-05-07T13:18:44.057 に答える
1

あなたは書くことによって間違いを犯しています

dataType: json,

ここでjsonは文字列になっているはずです

dataType: 'json',

あなたのコードでは、利用できないために定義されていない変数を検索しようとしているjsonため、ajax呼び出しは行われません。

于 2012-05-07T13:35:31.713 に答える