下面我给出了我的代码,它是一个调用php文件并获取json数据的javascript函数....所有的东西都很完美,但是当我想要添加时,我遇到了问题数据到多维数组.. ..对于这个noob问题抱歉..我不知道它可以做或不。在javascript多维数组中分配对象给数组
什么我想要做的
- 我想检索ajax调用数据,并且这些数据保存到数组
- 所以我不需要再打电话,如果我再需要数据
- 所以我想将数据存储在多维数组中,这将有两个键
- 第一个键将是数组的长度
- 第二个将是我的数据的dataType可以是“n ame“,”id“,”description“
- 是这样做的正确方法
- 如果不是那么我应该试试...?帮我...!!!
- 或者我可以设专职jsondata对象数据从Ajax调用成功,得到了一个数组
我的问题的新增需求 它就像我的数据的PHP数组关联数组类似于
$data[0]["id"] = 1;
$data[0]["name"] = "spomething";
$data[0]["descriptoon"] = "spomething";
$data[0]["image"] = "spomething";
//for second item
$data[1]["id"] = 1;
$data[1]["name"] = "spomething";
$data[1]["descriptoon"] = "spomething";
$data[1]["image"] = "spomething";
所以我想为javascript创建相同的数组...我为每个项目取...从ajax ../并包括到javascript数组中...
$('.searchButton').bind("mouseover", function() {
var data = $(this).parents('.item').attr('id');
var type = $(this).parents('.tab-pane').attr('id');
// dataArray will be global javascript variable because of its needdss... it will be outside the function
var dataArray = new Array();
$.ajax({
type: 'GET',
url: '<?php echo $this->createUrl("dining/AjaxItemDetailsCall") ?>/data/'+data,
dataType: 'json',
async: false,
success: function(data){
var dataArrayLength = dataArray.length;
dataArray.push({dataArrayLength:data});
console.log(dataArray[0]);
}
});
});
现在我改变我的代码在你的建议的基础上,我可以通过push fn来推送数据对象...现在我该如何从该对象调用数据....!
Object {dataArrayLength: Object}
dataArrayLength: Object
description: "World famous roasted Chicken, avacado, fresh mushrooms, red onions. Mozzarella cheese and our secret sauce."
id: "11"
images: "/htdocs/kiosk/images/dining/items/pizzas/11.jpg"
name: "Bella Notte Signature Pizza"
price: "4.50"
raters: "10"
ratings: "1"
__proto__: Object
__proto__: Object
这是的console.log输出(dataArray中的[0]) ...所以现在我想“ID”,“姓名”,“说明”从中我怎么能做到这一点... ????/
我的问题的解决方案
success:function(data){
var dataArrayLength = dataArray.length;
dataArray.push(data);
dataArray.forEach(function(object,index){
console.log(object.id);
console.log(object.name);
console.log(object.description);
console.log(object.image);
console.log(object.ratings);
});
,这就是我想做的事情......
每次我只打电话一项数据,但它会当我调用另一个项目时会增加...在这里我已经说过我会在ajax调用之前检查dataArray如果数据存在,它将不会调用,如果不是它将调用ajax的项目...我的观点是json数据将会只有一个项目..但是当我cvall再次它将会增加... –
你的意思是,如果你已经有dataArray中的数据,那么你不想做一个AJAX调用,我是否把你逼到? – robieee
是的,但..谢谢..我想通了...看一些问题后,我会写我的解决方案....感谢你的帮助哥们... –