gpt4 book ai didi

javascript - 在本地加载正常但在我发布时加载不正确

转载 作者:行者123 更新时间:2023-11-30 16:51:47 26 4
gpt4 key购买 nike

我正在尝试创建一个可以在线运行的小型 RadioPlayer。现在这是我拥有的 JavaScript 代码

function changeLink(link)
{
/* this changes the link and plays the radio*/
var radio= document.getElementById("radio");
radio.src = link;
radio.play();

}

function jsonLoad()
{
var xmlhttp = new XMLHttpRequest();
var url = "playList.txt";

xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var myArr = JSON.parse(xmlhttp.responseText);
readJSON(myArr);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();

}

function readJSON(obj)
{
var list = "<ui>";
for (var i = 0; i < obj.length ; i++)
{
list += "<li><a href='javascript:changeLink(" +"\"" + obj[i].radioLink + "\"" +");'>" + obj[i].name + "</a></li>";
}
list += "</ui>";

document.getElementById("radioLoad").innerHTML = list;
}

另外这是 HTML 代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title> My Radio Player</title>
<script src="Script.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">

</head>
<body onload="jsonLoad()">

<p>This is the link that i will change his property</p>
<audio id="radio" src="#" controls autoplay preload="auto" ></audio>


</audio>
<br>
<p id="radioLoad">

</p>




</body>

问题是 JSON 文件在本地运行良好,网页显示如我所料。但是,当我将它放在服务器上时,就像未加载 JSON 文件并且未触发其他功能 (readJSON(myArr);) 一样。似乎 IF 条件有问题,但我不知道为什么。有人可以帮助我吗?

编辑:似乎该代码只能在 Google Chrome 中本地运行。在 Internet Explorer 中生成了链接,但当我单击它们时它们不播放 radio 。同样在我测试的 iphone 模拟器上,音频标签无法正常工作。我也会尝试不同的网络浏览器。

EDIT2:现在可以使用了。我设法弄清楚了这个问题。代码没有问题,问题出在我托管的服务器上。所以我更改了网络托管服务商,现在可以使用了。你可以在这里看到它: http://radioplay4all.16mb.com/

还是谢谢你:)

最佳答案

如果不亲自调试,我无法确定,但我很确定您的问题出在您的 readJSON() 中。函数,当您尝试获取 .length 时对象的属性(JSON.parse() 返回一个 javascript 对象),因为对象没有 .length属性(property)。要查找对象具有的键数,您可以使用 Object.keys(myArr).length .所以在你的 for 循环中,obj.length为 Null,所以 i不能小于Null,所以不执行。所以如果你替换 i < obj.lengthi < Object.keys(obj).length这应该可以解决问题。

关于javascript - 在本地加载正常但在我发布时加载不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30423910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com