2010-01-16 79 views
3

我正在使用php。jQuery没有加载

当我在谷歌的服务器上使用jquery-1.3.2-min.js时,它会加载并且一切正常。

但是当我尝试使用一个我下载到我的服务器,萤火虫给了我这样的:

1<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
2<html><head> 
3<title>403 Forbidden</title> 
4</head><body> 
5<h1>Forbidden</h1> 
6<p>You don't have permission to access /path/to/scripts/jquery-1.3.2.min.js 
7on this server.</p> 
8<hr> 
9<address>Apache/2.2.12 (Ubuntu) Server at localhost Port 80</address> 
10</body></html> 

我怎样才能解决呢?我是否必须更改Apache中的某些设置。

另一件事是另一个js文件(使用jquery的)加载得很好。它位于与jquery-1.3.2.min.js相同的文件夹中(即在脚本文件夹中)。

+0

http://serverfault.com - 鉴于这个问题的性质,我选择将此问题迁移到Serverfault。 – Sampson 2010-01-16 18:51:30

+3

我选择你过分热心的唠叨退出让你的内裤在一个问题所属的地方。该解决方案可能不涉及编程,但如果该文件未加载,这显然是编程问题。 – Chris 2010-01-17 00:59:05

回答

12

听起来像文件本身的权限问题。尝试

chmod 755 /local/path/to/jquery-1.3.2.min.js 
0

您需要检查您的用户对这些目录/文件的权限。如果您无法自行解决此问题,请考虑联系您的主机解决此问题。

0

如果Apache可以读取一个文件,但不能读取其他文件。检查文件的权限使用chmodchown并查看是否有所作为。将该文件设置为加载正常的其他JavaScript文件的相同权限。

0

除了检查的权限,可以在前面的路径与此再看到:

$_SERVER[DOCUMENT_ROOT]; 
0

该解决方案不会解决你的权限问题,但最好还是从谷歌加载jQuery库。

谷歌托管几个流行的JS库。

主要优势是许多人已经从谷歌加载文件,所以他们已经在缓存中。这样,您可以节省大量带宽,并且大多数访问者的页面加载速度更快。

你可以使用这个URL来包含api。 (more info

http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js

0

如果suphp模块在Apache中启用,你必须调整权限和jQuery的文件的所有者。 看看该文件的权限与

cd /path/to/scripts 
ls -l *.js 

如果权限不同,你可以调整例如jQuery的-1.3.2.min.js文件的权限

chmod 664 jquery-1.3.2.min.js 

,如果所有者是不同的,你可以用

chown user:group jquery-1.3.2.min.js 
2

我刚做了一个非常类似的事情发生调整。为我修复的是将不起作用的文件复制到新文件中。例如。在我的例子中,采取JQuery文件,打开它,复制到一个新的JS文件,保存,移动旧文件,把新文件放在同一个地方同名...那么它一切正常。

+0

这也解决了我的问题! – deepsky 2012-08-08 14:15:23