1

是否可以将两个变量从 PHP 传递到 AJAX 并单独使用它们,例如:

获取这个:

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 回答