backbone.js应用程序的服务器端(restapi服务器提供index.html)
server side for backbone.js application( serve index.html by rest api server)
试图弄清楚如何为主干js应用程序制作一个rest api服务器。问题不在于如何跟踪请求和方法(post、get和其他)。问题是如何给客户提供index.html页面?
我发现了一个示例,其中站点的入口点是根('/')。它给出了索引页。这个解决方案的问题是,如果我先去url"/users"而不去"/",我会得到用户的json列表(没有我的整个网站)。我知道rest api就是这样工作的。。。
但我希望我的网站总是在客户第一次连接时提供索引页面。因此,我需要在服务器上跟踪它是否是第一个连接,并根据请求提供index.html和数据(如果是第一个)。或者一个服务器发送索引,另一个服务器是rest api。
看起来我有点困惑,希望你能帮我)
PS。我想看看Python中的代码/框架和其他干扰的例子(尽管这并不重要,但对理解这个想法很重要)
您似乎对web的工作方式感到困惑。
当您打开浏览器并在地址栏中键入www.example.com
时,浏览器会转到example.com
,期望找到HTML页面。不管是第一次还是第一百次访问该URL;你的浏览器会做同样的事情,每次它都会期望HTML回来。
REST API也是如此,除了使用JSON而不是HTML(或XML,或您的网站用于AJAX通信的任何东西)。当您有一些Javascript代码向www.example.com/api
发出AJAX请求时,每次都会得到JSON/XML/任何东西。
现在,如果你的浏览器转到www.example.com
并取回JSON,它就不知道该怎么处理它。同样,如果Javascript转到www.example.com/api
并取回HTML,它也不知道该如何处理它。按照网络的工作方式,每个人都希望给定的URL做一件事,所以如果你建立一个网站,用户请求某个URL的次数决定了该URL返回的内容,浏览器和代码都无法工作,因为它们不知道如何处理响应。
因此,真正最好的处理方式(以及整个网站上几乎每个网站的处理方式)是为网站的不同部分提供不同的URL。如果你的REST API是www.example.com/API
,你的用户永远不会在浏览器中键入该URL,因为他们甚至不知道它的存在(即使他们知道了,他们也没有理由这么做)。
如果你真的想做一些类似于你的请求的事情,你可以让你的服务器查看请求头,然后返回一个HTML页面或基于它们的AJAX响应。但是,我再次强烈建议不要使用这种方法:对您来说,只需为API使用一个单独的URL就会容易得多。
- 分析高度属性时出现意外值{{specs.height}}.index.html
- AngularJS-需要在index.html页面中访问来自服务的数据
- index.html使用webpack开发服务器未重新加载
- 从index.html调用函数,该函数无限循环
- RouteChangeStart事件在初始index.html页面加载时触发
- Angular2:Index.html没有't显示该文件;正在加载&”;
- 如何使用gulp-inject将文件的内容插入到我的index.html中
- 使url匹配'/''/索引'和'/index.html'到单一状态
- 将所有angular2捆绑包包含在index.html中会使导入从内存获取数据,而不是再次从服务器请求数据
- 咕哝式发球;t将index.html与'/'要求
- AngularJS应用程序:如何将.js文件包含到index.html中
- 无法从index.html调用javascript函数
- 捕获刷新并将页面更改为index.html
- 添加java脚本后,Dropdown Menu无法在Index.html上工作
- jquery手机应用程序的第一页必须是index.html
- Angular 2-我如何使我的index.html文件的标题和关键字和描述的元标签是动态的
- 使index.html的默认状态不带#something
- 从'更改不同语言的图像;index.html'到'关于.html'
- ng递归地包括整个index.html;达到“10$digest()迭代”;
- angular-index.html只识别默认路由中定义的函数