-1

我有一个 node.js 应用程序,在访问 localhost/user/signup 时会加载一个注册表单:

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="")

但是当我访问该页面时,服务器控制台记录了获取 JavaScript 文件的 404 错误,它工作正常,直到我将要加载的注册页面从以下位置更改localhost/signuplocalhost/user/signup

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

到:

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

1 回答 1

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 错误!

于 2012-08-10T09:33:55.547 回答