Javascript 将变量从服务器上的外部文件加载到HTML文档中?

Javascript 将变量从服务器上的外部文件加载到HTML文档中?,javascript,html,variables,Javascript,Html,Variables,标题确实说明了一切,但我希望在我的.html文件的文件夹中有一个包含许多字符串的文件,并以某种方式将它们加载到页面中,可能是document.write之类的文件。该网站遵循一个模板,我需要有许多字符串文件以交换方式加载到文档中,就像我想象的社交网络对其个人资料页面所做的那样。例如: "My name is $NAME. I'm %AGE years old. I'm %HEIGHT inches tall." % ('Files/strings.txt') 文件的布局如下: $NAME =

标题确实说明了一切,但我希望在我的.html文件的文件夹中有一个包含许多字符串的文件,并以某种方式将它们加载到页面中,可能是document.write之类的文件。该网站遵循一个模板,我需要有许多字符串文件以交换方式加载到文档中,就像我想象的社交网络对其个人资料页面所做的那样。例如:

"My name is $NAME. I'm %AGE years old. I'm %HEIGHT inches tall." % ('Files/strings.txt')
文件的布局如下:

$NAME = 'Bob'
$AGE = '20'
$HEIGHT = '70'

甚至

Bob.20.70

尽管我并不特别喜欢AJAX,但我可以用任何方式来实现这一点都是很好的。没有从客户端传输数据,因此我似乎不需要AJAX。

听起来好像可以用一个基本的模板引擎来完成。看一看或其他


Dust的优点是能够使用存储在.js文件中的预编译模板。我不确定是否有其他人也有这种能力,我假设有些人有…

这听起来好像可以用一个基本的模板引擎来完成。看一看或其他


Dust的优点是能够使用存储在.js文件中的预编译模板。我不确定是否有其他人也有这种能力,我假设有些人有…

如果它是静态文件。您应该使用JSON结构将数据存储在。json文件

如果是静态文件。您应该使用JSON结构将数据存储在。json文件

如果只想使用javascript而不想使用ajax:

// strings.js
var data = {
 NAME: 'Bob',
 AGE: 20,
 HEIGHT: 70
};

希望这就是您想要的:

如果您只想使用javascript而不想使用ajax:

// strings.js
var data = {
 NAME: 'Bob',
 AGE: 20,
 HEIGHT: 70
};

希望这就是你想要的:

通常这是由服务器完成的……服务器端语言是一种选择吗?@JeffreySweeney你是什么意思?就像CSS文件一样,我只想将数据从服务器加载到服务器上的HTML页面中。通常这是由服务器完成的…服务器端语言是一种选项吗?@JeffreySweeney你是什么意思?就像CSS文件一样,我只想将数据从服务器加载到服务器上的HTML页面中。太棒了!你可以使用任何组合,这只是我举的一个例子:。或者完全忽略ID/类,只需执行:applyTemplatedocument.documentElement,它将对整个HTMLPerfect进行全局替换!你可以使用任何组合,这只是我举的一个例子:。或者完全忽略ID/类,只需执行:applyTemplatedocument.documentElement,它将对整个HTML进行全局替换
// index.html
<script src="strings.js"></script>
<script>
  window.onload = function () {
    var tags = document.getElementsByClassName('templated');
    for (var i=0; i<tags.length; ++i) {
      applyTemplate(tags[i]);
    }
  }
  function applyTemplate (tag) {
    for (var key in data) {
      var regexp = new RegExp('%'+key, 'g');
      tag.innerHTML = tag.innerHTML.replace(regexp, data[key]);
    }
  }
</script>

<div class="templated">
  "My name is %NAME. I'm %AGE years old. I'm %HEIGHT inches tall."
</div>
<p>
  "My name is %NAME. I'm %AGE years old. I'm %HEIGHT inches tall."
</p>
//strings.txt:
$data['any_namespace'] = array(
  'name' => 'Bob'
  'age' => 20
  'height' => 70
);
//index.php:
<?php
  require_once 'strings.txt';
  echo <<<HTML_CONTENT
My name is $data['name']. I'm $data['age'] years old. I'm $data['height'] inches tall.
HTML_CONTENT;
?>