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

时间:2015-05-24 13:14:24

标签: javascript html json html5 audio

我正在尝试创建一个可在线工作的小型RadioPlayer。现在这是我有的JavaScript代码

import matplotlib.pyplot as plt
import numpy as np
from math import *

plt.figure(1)
th=np.linspace(0,pi,num=200)
y=range(10)
plots_y = []
for i in range(10):
    alph=np.exp(i/2)
    y[i]=((np.cos(alph*np.cos(th)) - 1. * np.cos(alph))/np.sin(th))**2
    plots_y.append(y[i])

for plot in plots_y:
    plt.plot(1. * th/pi, plot)
plt.show()

这也是HTML代码:

$even

事情是本地JSON文件完全正常工作,网页显示我所期望的。当我把它放在服务器上时,它就像没有加载JSON文件而另一个函数(readJSON(myArr);)没有被触发。似乎IF条件有问题,但我不知道为什么。有人可以帮帮我吗?

编辑:似乎该代码仅在Google Chrome中本地运行。在Internet Explorer中生成链接但是当我点击它们时它们不播放收音机。另外在我测试的iphone模拟器上,音频标签工作不正常。我也会尝试不同的网页浏览器。

EDIT2:它现在有效。我设法找出了问题。代码没问题,它是我托管的服务器。所以我改变了网络主机,现在它的工作原理。你可以在这里看到它: http://radioplay4all.16mb.com/

无论如何,谢谢你。)

1 个答案:

答案 0 :(得分:2)

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