.js文件未提供给开发服务器

时间:2014-06-09 20:57:11

标签: javascript html

我的html文件引用static文件夹中的.js文件,该文件夹与.html文件目录(模板)不同。当我运行.html文件时,它会正常加载.js文件。问题是,如果我在本地服务器上运行应用程序,我会收到错误消息:

 GET http://localhost:63342/UniteMessageBoard/templates/%5CUniteMessageBoard%5Cstatic%5Cjquery.js   [HTTP/1.1 404 Not Found 1ms]

并且脚本无法加载。

这是我的html代码:

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<script type="text/javascript" src="\UniteMessageBoard\static\jquery.js"></script>
<script type="text/javascript" src="\UniteMessageBoard\static\script.js"></script>

</head>
<body>
    <h1> {{ title }} </h1>
<input type="button" id="submit2" value="get it">
</body>
</html>

和我的script.js代码:

console.log('loaded script.js');

$(document).ready(function () {

$("#submit2").on('click', function (event) {
    handleClick();
});

});


function handleClick() {
  alert("We got here");
    $.ajax('/', {
    type: 'GET',
    data: {
        fmt: 'json'
    }
 });
 }

main.py代码:

JINJA_ENVIRONMENT = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
extensions=['jinja2.ext.autoescape'],
autoescape=True)



class MainHandler (webapp2.RequestHandler):
   def get(self):

    self.templateValues = {}
    self.templateValues['title'] = 'jQuery JSON Tutorial 2'
    template = JINJA_ENVIRONMENT.get_template('templates/base.html')
    self.response.out.write(template.render(self.templateValues))


  app = webapp2.WSGIApplication([
   ('/.*', MainHandler)

   ], debug=True)

如果我在本地运行应用程序,这是我得到的错误代码:

 [HTTP/1.1 200 OK 18ms]

即使它实际上没有加载。

修改 这是我的目录树:

enter image description here

1 个答案:

答案 0 :(得分:0)

你几乎可以肯定在Windows机箱上开发。我可以告诉我\代替/。问题是您在localhost上运行的Web服务器希望这些服务器是/。因此,在本地访问文件,而不通过Web服务器,它可以工作,但一旦你到达服务器它就会中断。