2

2 つ目の目が必要だと思います。

PHPファイルを呼び出すajaxがいくつかあり、jsonを返しています。これはすべてうまくいきます。次に、テスト目的で返すデータ要素を警告しています。これを行う際に、関数が呼び出されていないことを絞り込みました。

<?php

// database functions
$response = array();
$count = 1;

// connect to db
function connect() {   
$response['alert'] = 'connect ran'; // does not get alerted
}

// loop through query string
foreach ($_POST as $key => $value) {

switch ($key) {
    case 'connect':
        $response['alert'] = 'case ran';
        if ($value == 'true') {
        $response['alert'] = 'if ran'; // this is what gets alerted, should be overwriten by 'connect ran'
            connect(); // function call does not work?
        } else {
            $response['alert'] = 'false';
            $mysqli->close();
        }
        break;

        case 'otherstuff':
        break;
}
++$count;
}

$response['count'] = $count;

echo json_encode($response);

?>

何か案は?ありがとう。

4

2 に答える 2

6

あなたの$response変数は範囲外です..global関数内でキーワードを使用して、外部変数を登録します

function connect() {
    global $response;    
    $response['alert'] = 'connect ran';
}

またはSDCの編集:

function connect($response) { 
    $response['alert'] = 'connect ran';
}

connect($response);
于 2012-12-07T15:19:46.240 に答える
0

実際には結果変数を定義しましたが、別の型であり、上部にも別の結果変数があるため、データを $result[] に入れますが、$result を使用しようとするため、コードで期待される結果が得られない場合があります。

于 2012-12-07T15:24:45.497 に答える