使用AJAX GET请求获取对象
我有一个使用node.js express框架的程序。 在那里我有一个名为index.js的文件,它处理事物的服务器端。 它有一个对象(latestResults = {}),它存储分配给时间戳的json对象(latestResults [timestamp] = jsonObj)。使用AJAX GET请求获取对象
在一个名为visualization.js(client)的文件中,我想访问该对象。 我想使用AJAX GET请求,但坦率地说,我不知道这是怎么回事,我在网上找不到任何东西。 网址如何显示?
已经改进我的OG什么OP是问知识我会尽量回答是这样的:
用于安装其他端点服务与latestResult对象的客户,你将不得不做一些类似的东西:
var app = express();
app.get('/latestResults', function (req, res) { res.send (global.latestResults); });
和获取的对象,你可以使用jQuery(https://api.jquery.com/jquery.get/):
jQuery.get('/latestResults', function (latestResults) { visualize(latestResults); });
或者angularjs(https://docs.angularjs.org/api/ng/service/ $ http),或者我更喜欢 - 因为这已经在某些浏览器中实现了(https://github.com/github/fetch)
我假设latestResults作为全局变量存储在服务器端。 –
非常感谢你!我会尽快尝试。 – Johannes
一个简单的Ajax代码应该是这样的:
创建一个JSON对象的数据与发送请求,如果需要的话。
var data = {};
//insert values in data object.
$.ajax({
url: 'yourUrl',
data: data,
processData: false,
contentType: false,
type: 'POST',
dataType:'json',
success: function(response){
//access response variable sent from server.
},error : function(response){
//process error
}});
您index.js
文件应在处理该POST调用的走向,应该响应送出可变latestResults
的路线。
您确定,我需要先发布它吗? lestestResults随时间变化,我只需要从客户端 – Johannes
访问它,你可以做POST或GET调用,这取决于你的需求和你。如果您的latestResults取决于客户端,请在POST调用中以数据形式发送更新的值。 –
也许你可以试试这个:
内index.js
window.myObj = (function (myObj) {
var latestResults = {};
myObj.getLatestResults = function() {
return latestResults;
}
return myObj;
}(window.myObj || {}));
- 上面的代码使用了一个匿名函数创建一个封闭限制全局变量的数量(window.myObj是一个全局变量)。
- 该函数接收window.myObj变量(如果它已经存在)或空对象(如果window.myObj确实存在)。这是为了避免需要以正确的顺序包含js文件。
- 给定的对象将被与该功能富集getLatestResults这又返回latestResults对象。
而且里面visualization.js
window.myObj = (function (myObj) {
myObj.visualize = function() {
...
var data = myObj.getLatestResults()[timestamp];
...
}
return myObj;
}(window.myObj || {}));
- 相同的过程index.js。闭包接收全局变量myObj(window.myObj)。
- window.myObj充实了功能可视化(不需要做这一步,但我认为你需要一些功能来做你的可视化的东西)。
- 功能形象化然后能够通过myObj.getLatesResults得到的latestResults保持。
你可以在你的'index.js'文件中显示一些代码。 latestResults如何存储? –
var latestResults = {} 它充满了分配给时间戳的json对象 – Johannes