1

たとえば、PHPからAJAXに2つの変数を渡して、それらを別々に使用することは可能ですか。

これをフェッチする:

echo $row['route'] + $row['Distance'] ;

その後、私はそれを行うことができます:

$.getJSON("DisplayIndividualMySQLi.php", function(data) { 
    // alert(route);
    // alert(distance);
     }
4

2 に答える 2

6

getJSONを使用してphpからデータを取得する場合、phpからの応答はjsonである必要があります

http://php.net/manual/en/function.json-encode.php


PHP

// DB Query to set $row[ 'route' ] and $row[ 'Distance' ]
$sql = "SELECT route, Distance, UserID, RandomField, Etc FROM foo where bar = 'baz' LIMIT 1";
$row = $db->query( $sql )->fetch_assoc();
//...

$array = array( 
    'route' => $row[ 'route' ],
    'distance' => $row[ 'Distance' ],
    'UserID' => $row[ 'UserID' ]
);
// returns { "route": "foo", "Distance": "bar", "UserID": "User" }
echo json_encode( $array );

JS

// Case is important on things in the data object!
$.getJSON( "DisplayIndividualMySQLi.php", function( data ) {
   console.log( data ); // Object
   console.log( data.route ); // shows php's $row[ 'route' ]
   console.log( data.Distance ); // shows php's $row[ 'Distance' ]
} );
于 2013-01-15T21:17:20.100 に答える
2

それらを配列にまとめて、json-encode()してエコーすることができます。

$array = array(
   "route" => $row['route'],
   "distance" => $row['Distance'],
);
echo json_encode( $array);

または、$ row全体を送信したい場合は、次のようにすることができます。

echo json_encode( $row);

(ただし、グッドプラクティスに必要なデータのみを送信してください。)

その後、data.routeとしてデータにアクセスできます。例:

console.log( data.route ); 
于 2013-01-15T21:20:05.213 に答える