Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引用错误。如何从json数组中定义变量?_Javascript_Php_Json_Ajax - Fatal编程技术网

Javascript 引用错误。如何从json数组中定义变量?

Javascript 引用错误。如何从json数组中定义变量?,javascript,php,json,ajax,Javascript,Php,Json,Ajax,使用AJAX,我从数据库中获取数据,并将其作为json数组发送回网站。我需要将结果显示出来,但当我进一步使用数据时,它会显示ReferenceError。未定义变量。我看不出我做错了什么。 我应该使用对象中的数据将其作为删除按钮中的参数(稍后),但在下面的代码中,我只是尝试获取警报函数中的数据,以查看它是否有效。但不知何故,这是行不通的。 这是我的主要代码:(英语不是我的编程语言。抱歉。尝试翻译可能的内容) 函数find() { url=“tjener kode.php”; $.get(url、

使用AJAX,我从数据库中获取数据,并将其作为json数组发送回网站。我需要将结果显示出来,但当我进一步使用数据时,它会显示ReferenceError。未定义变量。我看不出我做错了什么。
我应该使用对象中的数据将其作为删除按钮中的参数(稍后),但在下面的代码中,我只是尝试获取警报函数中的数据,以查看它是否有效。但不知何故,这是行不通的。

这是我的主要代码:(英语不是我的编程语言。抱歉。尝试翻译可能的内容)

函数find()
{
url=“tjener kode.php”;
$.get(url、函数(数据){
var html=“”;
var dataen=JSON.parse(数据);
console.log(dataen);
var postnumber=“”;
var postplace=“”;
对于(var a=0;a”;
}
$(“#response2”).html(html);
});
}
功能报警(后置){
警报(“您好,您点击了“+后置”);
}

带上所有的邮政编码
对于按钮,我尝试了不同的代码,结果相同:

<button onClick=alarm("+postplace+")>
<button onClick=alarm("+dataen[a]["poststed"].value+")>

以下是我的服务器代码tjener-kode.php:

<?php
$db = new mysqli("xxxxxxxxxxxxxxxxxx");
if($db->connect_error)
{
    die("Error");
}
$sql = "Select * from postnrPoststed";
    $resultat = $db->query($sql);

    $data=array();

    while($rad=mysqli_fetch_assoc($resultat)){
      $data[]=$rad;
    }
    echo json_encode($data);
?>

使用控制台日志可以看到结果是这样的。这是正确的:

但是,当单击属于每个对象的网页上的按钮,并使用假定定义的变量时,我在控制台中得到以下错误:
它说变量没有定义,但不知怎的,我仍然得到控制台日志中显示的变量中的数据。
您收到此错误,因为
将已经为您提供所需的值。您不需要使用
.value
我发现了问题。以下是最好的答案:

因为我使用javascript制作按钮,所以我必须将其附加到段落中。我在html+=“有和没有”中尝试了相同的代码,但没有成功。所以你必须附加它。或document.write()

$(“#响应”)。附加(“”);

在开发者工具控制台中,如果您单击错误-它指的是哪一行?使用chrome,我得到了以下信息:未捕获的引用错误:在htmlButtoneElement.onclick((索引):1)中未定义Oslo。为什么您必须解析数据?在浏览器中访问
tjener-kode.php
文件时的格式是什么?如果生成的格式是json,则只需通过
data.keyname
访问即可。我只是使用了parse,因为这是我获取数据的唯一方式。你知道更好的方法吗?上面显示了tjener-kode.php上的唯一代码。访问服务器上的页面时,它看起来是这样的:[{“postnr”:“0166”,“poststed”:“Oslo”},{“postnr”:“4821”,“poststed”:“Rykene”}]这个文件的url是什么?在浏览器中访问它。但是我希望“poststed”(数据库中的名称)作为参数中的值。我已经尝试了所有方法。如果没有参数/参数,函数可以正常工作。但不知何故,我通过辩论的方式出了问题。使用相同的参数在网站上显示它可以很好地工作,但当我在函数中使用相同的名称时就不行了。我不知道为什么
<?php
$db = new mysqli("xxxxxxxxxxxxxxxxxx");
if($db->connect_error)
{
    die("Error");
}
$sql = "Select * from postnrPoststed";
    $resultat = $db->query($sql);

    $data=array();

    while($rad=mysqli_fetch_assoc($resultat)){
      $data[]=$rad;
    }
    echo json_encode($data);
?>
$( "#respons" ).append('<input type="button" value="test" onclick="alarm(\'' + postsplace + '\')" />');