Javascript 从PHP读取变量并使用js执行select查询
我有一个小项目,我正在尝试使用ajax将变量添加到我的js文件中 这是我的js文件:Javascript 从PHP读取变量并使用js执行select查询,javascript,php,ajax,mysqli,Javascript,Php,Ajax,Mysqli,我有一个小项目,我正在尝试使用ajax将变量添加到我的js文件中 这是我的js文件: function get_sites() { $.ajax({ method: "POST", url: "server/newEmptyPHP1.php", dataType: "json", data: {type: "tasks"}, success: function (data) { } }); } 这是我的PHP文件: if (isset($_PO
function get_sites() {
$.ajax({
method: "POST",
url: "server/newEmptyPHP1.php",
dataType: "json",
data: {type: "tasks"},
success: function (data) {
}
});
}
这是我的PHP文件:
if (isset($_POST["type"])) {
$type = $type = $_POST["type"];
$returned_value = ""; //default value
switch ($type) {
case "tasks":
$returned_value = display_tasks($conn);
break;
}
$conn->close();
echo $returned_value;
}
function display_tasks($conn) {
$query = "SELECT * FROM `Site`;";
$result = mysqli_query($conn, $query);
$html = "";
$final_result = array();
if ($result) {
$row_count = mysqli_num_rows($result);
for ($i = 0; $i < $row_count; ++$i) {
$row = mysqli_fetch_array($result);
$task = array("id" => $row["ID"], "av" => $row["availability"], "lng" => $row["lng"], "lat" => $row["lat"]);
$final_result["Site"][] = $task;
}
}
print_r(json_encode($final_result));
return json_encode($final_result);
}
如您所见,这是我从该PHP文件中获取的数组,但我无法很好地处理它,因此如何从前面的数组中获取js文件中的变量?您可以尝试JSON解码。或者,为了获得响应数据,您必须执行以下操作:
...
success: function (data) {
jQuery.each(data, function () {
console.log(this);
jQuery.each(this, function () {
console.log("av=" + this.av + " --> id=" + this.id + " --> lat=" + this.lat + " --> lng=" + this.lng);
});
});
}
...
一种使用直接引用的方法 JavaScript不强制要求解码json数据,因为它可以使用直接对象引用访问
json
数据
var data = {"Site":[{"id":"1","av":"1","lng":"16.963777","lat":"42.548664"},{"id":"2","av":"0","lng":"16.96376","lat":"42.548685"}]};
console.log(data.Site);
console.log(data.Site[0]);
console.log(data.Site[1]);
console.log(data.Site[0].id);
console.log(data.Site[0].av);
console.log(data.Site[0].lng);
console.log(data.Site[0].lat);
var data = data.Site; // you can avoid use capitals as in your output `Site`
for ( var i = 0 ; i < data.length ; i++){
var d = data[i];
console.log('--------------------------');
console.log(d);
console.log(d.id);
console.log(d.av);
console.log(d.lng);
console.log(d.lat);
}
var数据={“Site”:[{“id”:“1”,“av”:“1”,“lng”:“16.963777”,“lat”:“42.548664”},{“id”:“2”,“av”:“0”,“lng”:“16.96376”,“lat”:“42.548685”};
console.log(data.Site);
console.log(data.Site[0]);
console.log(data.Site[1]);
console.log(data.Site[0].id);
console.log(data.Site[0].av);
console.log(data.Site[0].lng);
console.log(data.Site[0].lat);
var data=data.Site;//您可以避免在输出站点中使用大写字母`
对于(变量i=0;i
在没有jQuery的情况下也支持它
您使用的是
json
编码数据。使用前请先解码。非常感谢,终于可以使用了:')
var data = {"Site":[{"id":"1","av":"1","lng":"16.963777","lat":"42.548664"},{"id":"2","av":"0","lng":"16.96376","lat":"42.548685"}]};
console.log(data.Site);
console.log(data.Site[0]);
console.log(data.Site[1]);
console.log(data.Site[0].id);
console.log(data.Site[0].av);
console.log(data.Site[0].lng);
console.log(data.Site[0].lat);
var data = data.Site; // you can avoid use capitals as in your output `Site`
for ( var i = 0 ; i < data.length ; i++){
var d = data[i];
console.log('--------------------------');
console.log(d);
console.log(d.id);
console.log(d.av);
console.log(d.lng);
console.log(d.lat);
}