Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript backbone.js在中断相对路径之前缺少斜杠_Javascript_Url_Backbone.js - Fatal编程技术网

Javascript backbone.js在中断相对路径之前缺少斜杠

Javascript backbone.js在中断相对路径之前缺少斜杠,javascript,url,backbone.js,Javascript,Url,Backbone.js,我在客户端使用backbone.js,在服务器端使用express.js。 问题是,使用backbone.js路由,用户可以在#前面有斜杠,也可以没有斜杠,这打破了AJAX中的相对路径 快乐路径url: localhost:3000/ab/#/cd // now if // $.ajax({ "url" : "pay", ... }); // the request url would be localhost:3000/ab/pay localhost:3000/ab#/cd // with

我在客户端使用backbone.js,在服务器端使用express.js。 问题是,使用backbone.js路由,用户可以在#前面有斜杠,也可以没有斜杠,这打破了AJAX中的相对路径

快乐路径url:

localhost:3000/ab/#/cd
// now if
// $.ajax({ "url" : "pay", ... });
// the request url would be
localhost:3000/ab/pay
localhost:3000/ab#/cd
// with same AJAX, the request url becomes
localhost:3000/pay
在快乐的道路上一切看起来都很好,但是

悲伤路径url:

localhost:3000/ab/#/cd
// now if
// $.ajax({ "url" : "pay", ... });
// the request url would be
localhost:3000/ab/pay
localhost:3000/ab#/cd
// with same AJAX, the request url becomes
localhost:3000/pay
我该如何解决这个问题?

好吧,这是个愚蠢的问题

因为斜杠在#之前,所以它会生成一个新的浏览器请求,并且不受主干网的控制


我想不出保留相对路径的方法,所以我只是在后端执行了强制重定向

到目前为止,我找到的唯一解决方案是在后端使用尾随斜杠强制重定向…有更好的方法吗?