如何跨多个URL使用相同的HTML页面,除了一个变量的值取决于所查询的URL
How to use the same HTML page across multiple URLs except for the value of one variable depending upon URL queried?
我有一个如下的HTML页面
<body ng-controller="DashboardDisplay" onload="submit()">
<div class="container-fluid" >
{{scope.arr}}
</div>
</body>
<script>
var myApp = angular.module('myApp',[]);
myApp.controller('DashboardDisplay', ['$scope','$http',function($scope,$http) {
$scope.submit = function(){
var jsonOb = {"A":"B"};
$http.post(URL,jsonOb).
success(function(response) {
console.log('got it' + response);
$scope.arr=response;
})
}
}]);
目前我硬编码变量jsonOb
的值。对于不同的页面,除了jsonOb
的值外,整个HTML保持不变。例如,如果我查询www.xyz.com/page1.html
的值是jsonOb={"A":"B"}
,但www.xyz.com/page2.html
的值是jsonOb={"1":"2"}
。除此之外,这两个HTML页面是相同的,即我使用两个单独的HTML页面,即page1.html
和page2.html
只是设置一个变量的值,我认为这是相当多余的。
我希望能够根据正在查询的URL设置该变量的值。我该怎么做呢?
PS:我正在使用一个快速服务器来托管内容。
您可以将所有json数据存储到.json
文件中,然后查找窗口的哈希属性。Location对象来查询好的Location:对于本例,假设您有file1。json、file2。json等…
var hash = window.location.hash;
var jsonPage;
if ( hash.length ) {
jsonPage = hash.split('#')[1]
}
else {
jsonPage = 1;
}
现在您可以根据html文件名后的值调用json页面,即your_url/page.html#2
:
var xhr;
if (window.XMLHttpRequest) xhr = new XMLHttpRequest();
else if (window.ActiveXObject) xhr = new window.ActiveXObject("Msxml2.XMLHTTP");
if(!xhr){
checkOldBro(true);
return;
}
xhr.onreadystatechange = function(){
if (xhr.readyState == 4 && xhr.status == 200){
var jsonOb = JSON.parse(xhr.responseText);
$scope.submit = function(){...your function}
}
};
xhr.open("GET", "file"+jsonPage+".json", true);
xhr.send();
})(this);
请注意,您还可以检查hashchange
事件,该事件不会刷新您的页面。
相关文章:
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 我们如何在不更改url的情况下使用锚点点击从一个页面重定向到另一个页面
- 一次又一次地在新的和相同的选项卡中打开一个url
- 如何使用javascript获取下一个/转发url
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- Mapbox JS,来自URL的GeoJSON featureCollection对象只添加了一个标记
- 在iframe中加载url并添加一个类
- 有没有一个Nodejs库可以序列化和反序列化命名组件的路径(比如URL路径名)
- 将任何CDN配置为只传递一个文件,无论请求的url是什么
- javascript window.location在检查firebug时给了我一个错误的url路径
- 一个jsp中有两个操作URL
- 如何使用特定的javascript函数创建一个url,以便在加载页面时运行
- 使用javascript加载并显示来自另一个域的页面,而不显示原始URL
- 将php页面URL中的变量传递给JavaScript和另一个php
- 如何使用JQuery提取URL中最后一个/分隔符之前的最后一个值
- Javascript/jQuery获取所有url参数并添加/更改一个参数
- 想制作一个基于URL的音频播放器,但Javascript不起作用
- 如何创建一个组件,我可以设置在 Angular 2 中的属性中获取 URL 数据
- 根据jQuery中的另一个链接更改url
- 请我需要一个可以编辑mp3 URL的JavaScript代码