2012-08-10 61 views
-1

我访问本地主机/用户/注册时加载注册表单使Node.js应用:404包括JavaScript

html 
    head 
    script(type='text/javascript',src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js') 
    script(type='text/javascript',src='javascripts/validator.js') 
    script(type='text/javascript',src='javascripts/signupValidation.js') 
    body 
    p(id='error', style='display:none;')#{error} 
    form(id='signup',method='post',action='/signup') 
     label(for='firstname') Firstname 
     input(type='text', name='firstname') 
     label(for='lastname') Lastname 
     input(type='text', name='lastname') 
     label Username 
     input(type='text', name='username') 
     label Password 
     input(type='password', name='password') 
     label Password again 
     input(type='password', name='password2') 
     label Email 
     input(type='email', name='email') 

     input(type='submit',value='Sign up', onclick="") 

但是当我访问网页服务器控制台登录一个404错误获取的JavaScript文件,它工作正常,直到只有当共振改变我的注册页面从localhost/signup加载到localhost/user/signup

app.get('/signup',user.signupForm); 

到:

app.get('/user/signup',user.signupForm); 
+0

您应该准确描述您更改的配置以及现在的样子。 – 2012-08-10 09:30:12

+0

好的,更新问题 – gilbertbw 2012-08-10 09:30:59

回答

0

从你的问题我认为,你没有一起移动的JavaScript文件,让你的目录结构是这样的:

localhost 
|- user 
|-- signup 
|- javascripts 

在这种情况下,你的JavaScript文件中的相对路径已经改变为了指向正确的文件:

script(type='text/javascript',src='../javascripts/validator.js') 
script(type='text/javascript',src='../javascripts/signupValidation.js') 

请记住,如果你不使用绝对路径,路径始终为相对于当前目录处理,所以在你的情况下,系统正在搜索中的JavaScript文件localhost/user/javascripts/,它不存在,从而导致404错误!

+0

是的,就是这样,谢谢 – gilbertbw 2012-08-10 09:39:51