javascript在本地主机上不起作用
Posted
技术标签:
【中文标题】javascript在本地主机上不起作用【英文标题】:javascript not working on localhost 【发布时间】:2011-02-15 16:46:54 【问题描述】:好吧,我在这里迷路了,很沮丧,把我的头发拉了出来。再加上可能即将被解雇或减薪。
我将文件从开发服务器移动到我的本地计算机。文件是一致的(使用 diff 工具),所有依赖项都在那里。它在大多数情况下都有效。问题是某些 javascript(不是全部)无法正常工作。我们正在使用 jquery 和很多插件。我已经检查了 Firefox 中的 Web 开发人员插件,并且所有 js 文件都在加载。我多次清除了firefox和chrome中的缓存,但无济于事。开发服务器是运行 wamp 的 windows 服务器。我的本地机器正在运行 ubuntu。有人告诉我我错过了什么。
【问题讨论】:
您的错误控制台为您提供的错误消息是什么?我试过 Firefox Firebug 插件来帮助调试吗?你能给我们一个代码示例吗? 我解决了这个问题。我使用我疏忽的控制台再次运行了firebug,并选择了一些我在重新定位文件时没有解决的php错误。不过谢谢大家的及时回复:) 【参考方案1】:您可能需要使用本地服务器托管网站。 VS IDE 有一个名为 live server 的附加组件。您需要设置一个工作区才能使其工作。我机器上使用的端口是5500。
您需要确保 javascript 的所有依赖项都在您的服务器上运行,否则 javascript 将不会被执行。这些依赖项列在 json 文件中。
例如。如果您需要 express,则需要运行 node,否则 javascript 将无法在您的网络浏览器中执行。
在终端中: 节点app.js
任何未安装并在服务器上运行的依赖项都不会执行。
【讨论】:
【参考方案2】:您是通过网络服务器运行文件,还是直接打开文件?如果是后者,您需要在本地机器上设置一个服务器以进行本地测试,并使用它来提供文件。否则,您很可能会遇到其他人在上面提到的域限制。
【讨论】:
【参考方案3】:下载 firebug 作为 Firefox 扩展并查看 http 请求和响应。 最简单的可能是从“网络”选项卡中确定您的脚本是否正在发出请求。
很可能是源域问题。没有解决此问题的方法。 ajax 请求和源数据必须在同一个域中。
【讨论】:
【参考方案4】:您是通过网络服务器访问 html 网页,而不是简单地双击文件打开它?
此外,如果您安装了 WebDeveloper 工具栏,请单击“禁用”、“禁用 Javascript”并确保未勾选“所有 Javascript”。
【讨论】:
【参考方案5】:这可能与 JavaScript 的安全限制有关。 (在某些情况下)您只能对来自当前域的 URL 或页面进行操作,当您将文件从其他服务器移出时,它们很可能会发生变化。 More here.
【讨论】:
这是一个很好的观点。特别是如果您的脚本使用 jQuery 进行 AJAX 调用。 唯一的事情就是一切都被移走了。数据库等。我没有链接到我的服务器之外的任何东西。我只是仔细检查了 javascript 引用。以上是关于javascript在本地主机上不起作用的主要内容,如果未能解决你的问题,请参考以下文章