如何存储来自 JSON 的过滤数据并显示在 table (EmberJS)
How to store filtered data from JSON and display in table (EmberJS)
我正在尝试在 EmberJS 的页面加载中显示 table 条记录。数据来自 ajax 调用,它给出了非常大的 JSON 响应。以下是该过程的概述(它应该如何工作):
页面加载 -> Ajax 调用(在控制器中) -> 响应 -> 在某处存储数据(过滤) -> 在 Table
中显示
到目前为止,我已经成功获得了JSON的响应,但是数据量很大,并且包含多个字段和嵌套字段。我只需要存储响应中的某些数据,例如 name、email 等
这是我的控制器的代码,当页面加载时 运行:
import Controller from '@ember/controller';
import Ember from 'ember';
export default Controller.extend({
ajax: Ember.inject.service(),
init:function(){
const token = sessionStorage.getItem('token')
this.get('ajax').request('http://127.0.0.1/SugarPro-Full-8.0.0/rest/v10/Leads',{
method: 'GET',
headers:{
'Content-Type': 'application/json',
'oauth-token': `${token}`
},
success: function(response){
console.log(response);
sessionStorage.setItem("data", response);
},
error: function(){
window.alert("Please Login!");
window.location.assign("/login-page");
},
dataType: 'json'
});
}
});
注意: 我将响应存储在 sessionStorage
中,因为我不知道从这里到哪里去,所以如果需要可以忽略它。
PS: 我确实看到了一些建议将所有内容都放在路由器中的示例,但那是他们假设响应是 模型的子集,而在我的例子中,它可能是相反的。
非常感谢!
您需要 map 某些属性到另一个过滤数组,并将映射数据保存到您的 sessionStorage
:
success: function(response){
mappedresponse = response.map(item =>{
return {"name": item.name, "email": item.email};
});
console.log(mappedresponse);
sessionStorage.setItem("data", mappedresponse);
},
我正在尝试在 EmberJS 的页面加载中显示 table 条记录。数据来自 ajax 调用,它给出了非常大的 JSON 响应。以下是该过程的概述(它应该如何工作): 页面加载 -> Ajax 调用(在控制器中) -> 响应 -> 在某处存储数据(过滤) -> 在 Table
中显示到目前为止,我已经成功获得了JSON的响应,但是数据量很大,并且包含多个字段和嵌套字段。我只需要存储响应中的某些数据,例如 name、email 等
这是我的控制器的代码,当页面加载时 运行:
import Controller from '@ember/controller';
import Ember from 'ember';
export default Controller.extend({
ajax: Ember.inject.service(),
init:function(){
const token = sessionStorage.getItem('token')
this.get('ajax').request('http://127.0.0.1/SugarPro-Full-8.0.0/rest/v10/Leads',{
method: 'GET',
headers:{
'Content-Type': 'application/json',
'oauth-token': `${token}`
},
success: function(response){
console.log(response);
sessionStorage.setItem("data", response);
},
error: function(){
window.alert("Please Login!");
window.location.assign("/login-page");
},
dataType: 'json'
});
}
});
注意: 我将响应存储在 sessionStorage
中,因为我不知道从这里到哪里去,所以如果需要可以忽略它。
PS: 我确实看到了一些建议将所有内容都放在路由器中的示例,但那是他们假设响应是 模型的子集,而在我的例子中,它可能是相反的。
非常感谢!
您需要 map 某些属性到另一个过滤数组,并将映射数据保存到您的 sessionStorage
:
success: function(response){
mappedresponse = response.map(item =>{
return {"name": item.name, "email": item.email};
});
console.log(mappedresponse);
sessionStorage.setItem("data", mappedresponse);
},