Ich versuche, Array von SQL-Server mit PHP, und Parsing diese Array zu Javascript mit Ajax. Allerdings habe ich viele Lösungen von Google versucht, ich kann das Array nicht bekommen.übergeben PHP-Array zu JavaScript mit Ajax
Das ist mein PHP-Code ist:
<?php
include 'Connect.php';
$Store_int = $_GET['num'];
$sql = "SELECT * FROM `store` WHERE `Place_int` = " . $Store_int;
mysqli_select_db($link, "web");
$link->set_charset("utf8");
$result = mysqli_query($link, $sql);
$arr = array();
while ($row = mysqli_fetch_object($result)) {
$p = (string)$row->Name;
$arr[] = $p;
}
//print_r($arr);
$jsonArr = json_encode($arr, JSON_UNESCAPED_UNICODE);
echo $jsonArr;
mysqli_free_result($result);
mysqli_close($link);
?>
Array in PHP kodieren und Anzeige:
["pen","pencil","apple","cat","dog"]
und die JS-Datei
function getArr(store_int) {
var jsArray = new Array();
$.ajax({
url: "fromSQL_store.php",
data: {
num: $("#store_int").val()
},
type: "GET",
dataType: "json",
success: function (data) {
alert(num);
jsArray = JSON.parse(data.jsonArr);
}, error: function (data) {
alert("123");
}
});
//alert(jsArray.length);
return jsArray;
}
In Js, ich will bekomme immer eine leere Antwort (undefiniert) von PHP. Weil der Ajax die "Fehler" -Funktion beantwortet ... und der Fehlerstatus ist 200.
Ihr Code auf SQL-Injektionen anfällig ist. Bitte lernen Sie [vorbereitete Aussagen] (https://www.youtube.com/watch?v=nLinqtCfhKY). –
Wie für Ihre Frage, müssen Sie auch JSON 'Content-Type' Header in PHP setzen –
@ tereško danke, ich werde die SQL-Injektionen verhindern, nachdem das Problem zu lösen. –