JavaScript获得对JSON的特定访问权限
我有一个JSON数组,格式如下: [“url1.de”、“url2.de”、“url3.de”…] phpScriptJavaScript获得对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>"
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将不会执行