Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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 - Fatal编程技术网

JavaScript获得对JSON的特定访问权限

JavaScript获得对JSON的特定访问权限,javascript,php,json,Javascript,Php,Json,我有一个JSON数组,格式如下: [“url1.de”、“url2.de”、“url3.de”…] phpScript while($row = $result->fetch_assoc()) { echo " <tr><td>".$row["Number"]."</td><td>".$row["MusikName"]." ".$row["MusikURL"]."</td></tr>"

我有一个JSON数组,格式如下:

[“url1.de”、“url2.de”、“url3.de”…]

phpScript

 while($row = $result->fetch_assoc()) {
        echo "
        <tr><td>".$row["Number"]."</td><td>".$row["MusikName"]." ".$row["MusikURL"]."</td></tr>";


             $urlarray[]=$row["MusikURL"];


              $zufall = array_rand($urlarray);

              echo "
              <br /> <b>URL:</b> " . $urlarray[$i];  // echo URL : www.url1.de  URL:www.url2.de ...





              $jsarray = json_encode($urlarray,JSON_UNESCAPED_SLASHES); 




              $i++;
        }            
        echo $jsarray; // ["url1.de","url2.de"...
while($row=$result->fetch_assoc()){
回声“
“$row[“Number”]。$row[“MusikName”]。$row[“MusikURL”]。”;
$URLARY[]=$row[“MusikURL”];
$zufall=array\u rand($urlarray);
回声“

URL:“.$URLARY[$i];//回送URL:www.url1.de URL:www.url2.de…”。。。 $jsarray=json_encode($urlarray,json_UNESCAPED_SLASHES); $i++; } echo$jsarray;//[“url1.de”,“url2.de”。。。
JavaScript

        var url = new Array();




        var urlamount = ' <?php echo $i; ?>;';

        url = ' <?php echo json_encode($jsarray); ?>;';

        alert(urlamount);


        alert(url); // "["url1.de","url2.de"...
         alert(url[1]); // I expected he will alert url1.de but he only alert single letters...in this case 'u'
        var audio = new Audio(url[x]);

        audio.addEventListener('ended', function () {
            this.currentTime = 0;
            this.play();
        }, false);

        audio.play();

    }
var url=new Array();
变量urlamount=';';
url=';';
警报(URL金额);
警报(url);/“[“url1.de”,“url2.de”。。。
alert(url[1]);//我原以为他会通知url1.de,但他只通知单个字母……在本例中为“u”
var audio=新音频(url[x]);
audio.addEventListener('end',函数(){
这个.currentTime=0;
这个。play();
},假);
音频播放();
}
我试图通过url获得url[x]x应该是URLMount之间的随机值。。。 或者是否有其他方法将URL从$URLARY[]保存到JavaScript数组


提前感谢!!

用下面的代码更改您的javascript代码

var urlamount = '<?php echo rand(0,(sizeof($jsarray)-1)); ?>';
var url_json = '<?php echo json_encode($jsarray,true); ?>';
var url = $.parseJSON(url_json);
alert(urlamount);
alert(url[urlamount]);
var urlamount='';
var url_json='';
var url=$.parseJSON(url\u json);
警报(URL金额);
警报(url[urlamount]);

[“url1.de”、“url2.de”、“url3.de”…]它不是JSON数组
var arr=;alert(arr[0]);
工作正常,我假设您的脚本中存在另一个问题。我可以警告漏洞url,但像这样->“[“url1.de”、“url2.de”…这可能是个问题吗?而不是[“url1.de”、“url2.de”…我上传了源代码…但据我所知,没有什么可能是问题。删除
url=';
1中的引号
。没有
jQuery
标记;2。
urlamount
是url的数量,而不是随机整数3。修复
url
后,不需要
urlamout
as通过
url.length
可以获得元素的数量。感谢Andreas将其更改为.length…感谢Amit的帮助(我将研究$.parseJSON),但这也不起作用:/如果我按下提交按钮,JavaScript将不会执行