2010-05-05 157 views
0

使用Notepad ++和XAMPP测试东西,然后通过FTP将其上传到网站。在我的代码的头,我这个叫jQuery和脚本:jQuery在本地主机上工作,但不在网站上

<script type="text/javascript" src="/jquery.js"></script> 
<script type="text/javascript" src="/portfolio.js"></script> 

,并在本地工作正常我的XAMPP服务器上。但只要它上传到主机,它抛出这个错误:

Resource interpreted as script but transferred with MIME type text/html. 

不知道发生了什么,或者为什么它使用jQuery不好受。有任何想法吗?

+0

想通了,看到我的答案在 – JoeCortopassi 2010-05-05 18:55:57

回答

1

原来的文件名“的jquery.js”是什么搞砸了。在本地,大写字母'U'不是问题,但是在服务器上它是什么导致它被打破。我甚至不知道这可能发生: -/

+1

如果您正在Windows上开发并在Linux上部署,则区分大小写将发挥作用。 – patricksweeney 2014-04-10 12:50:35

4

这不是特定于jQuery的。当您从服务器加载您的页面时,会向Web服务器发送请求以下载/jquery.js。在服务器的响应中,有一个HTTP头部,它向客户端提供有关文件类型的提示。这称为Content-Type标题。上面的错误消息说,服务器报告(错误地)/jquery.js类型text/html,但它不是。

您必须修改远程Web服务器的配置,以确保扩展名为.js的文件正确报告为application/x-javascript作为其MIME类型而不是text/html。这可以通过下面的指令在Apache的配置文件来完成:

AddType application/x-javascript .js 

我不知道为什么你的其他.js文件工作的。无论如何,如果您因任何原因无法修改Web服务器配置,您可以尝试使用externally hosted copy of jQuery

如果您在Mac OS X上使用Safari,可能还会发生您在WebKit/Safari中遇到错误。请参阅this related question

+0

那么我该怎么做才能解决它? Portfolio.js文件加载罚款 – JoeCortopassi 2010-05-05 18:34:04

0

这意味着您的服务器未配置为使用js文件的正确内容类型。它将它们发送为text/html而不是text/javascript。可能是服务器aint配置正确。

0

为什么不使用谷歌托管里面很多人可能已经缓存的版本,它总是保持最新,等等。

http://code.google.com/apis/ajaxlibs/

+0

一个很好的建议,但并不完全解决问题。 – mpen 2010-05-05 18:37:21

相关问题