我有一个PHP脚本,它从服务器收集数据并将其显示在一个数组中,然后显示为带有该函数的json。
echo json_encode($result);
现在我想用我的javascript访问该数组并显示它。它应该作为数组保存在var中,因此它应该如下所示:
data = [ "xxxx" , "ssss",];
但我想我可以简单地输入我的函数来获取数组数据,所以它是:
data = myfunction ;
到目前为止我已尝试过:
function reqListener () {
console.log(this.responseText);
}
var oReq = new XMLHttpRequest(); //New request object
oReq.onload = function() {
};
oReq.open("get", "http://myserver.com/myscript.php", true);
oReq.send();
和
function getdata(url) {
jQuery.ajax(
{
type: "GET",
url: "http://myserver.com/myscript.php/",
dataType: "text",
success: function (response) {
var JSONArray = jQuery.parseJSON(response);
connsole.log(JSONArray);
}
});
}
但似乎没有任何效果,我会被展示出来并且未定义'而不是我的阵列。 如果有人对此有一些想法并且可以帮助我,那真的很棒。
编辑: 因为我们无处可去,所以我的PHP代码:
<?php
error_reporting(0);
$html = file_get_contents("url here");
$dom = new DOMDocument();
$dom->loadHTML($html);
$tbodyRows = $dom->getElementsByTagName( 'tbody' )
->item( 0 ) // grab first tbody
->getElementsByTagName( 'tr' );
$result = array();
foreach( $tbodyRows as $tbodyRow )
{
$result[] = $tbodyRow->getElementsByTagName( 'td' )
->item( 2 ) // grab 3rd column
->nodeValue;
}
echo json_encode($result);
?>
答案 0 :(得分:1)
我之前做过类似的事情。我将描述它,我希望它能帮助你。
在下面的代码(get_categories.php)中,我正在从数据库中检索数据并将它们添加到数组中。然后通过编码作为JSON返回它。
$sql = "SELECT category_name FROM category;";
$dataArray = [];
$result = $connection->query($sql);
if ($result) {
while ($row = $result->fetch_assoc()) {
$dataArray[] = $row;
}
echo json_encode($dataArray);
}
然后在我的Javascript代码中,我可以获得如下数据。
$.ajax({
url: "/get_categories.php",
type: "GET",
dataType: "json",
success: function (categories) {
for (var i = 0; i < categories.length; i++) {
console.log(categories[i]);
}
},
error: function (jqXHR, textStatus, errorThrown) {
// Error handling code
}
});
答案 1 :(得分:1)
试试这段代码:
function getdata(url) {
console.log('Started');
jQuery.ajax({
type: "GET",
url: "http://myserver.com/myscript.php",
dataType: "text",
error: function (xhr) {
console.log('Error',xhr.status);
},
success: function (response) {
console.log('Success',response);
}
});
}
打开浏览器的控制台,让我知道它的内容。如果您没有看到Error
或Success
,那么您的代码实际上并未执行