用jquery处理javascripts对象

时间:2014-11-23 15:51:00

标签: javascript jquery arrays javascript-objects

我正在使用JSON来解析MYSQL中的一些数据,但是为了将所有信息都带入JAVASCRIPT OBJECTS中的所有内容(工作正常),问题是我不知道怎么能我使用JQUERY来填充一些div并集成具有不同功能的对象的信息。这就是我的工作方式:

  // SE DEFINE CADA OBJETO QUE RECIBE INFO DE CADA CAMPO DE BD

  //PLATO
  function PlatoBD(nombreplato , descripcion, caloriasTortilla, precio, ingredientes)   
  {
    this.nombreplato = nombreplato;
    this.descripcion = descripcion;
    this.caloriasTortilla = caloriasTortilla;
    this.precio = precio;
        this.ingredientes = function(adiciones , NomPlato){
            peticionBD(adiciones , NomPlato);
        }

  }

  //ADICION
  function AdicionBD(nombreAdicion , calXplato, tipoAdicion)   
  {
    this.nombreAdicion = nombreAdicion;
    this.calXplato = calXplato;
    this.tipoAdicion = tipoAdicion;

  }

  //SE DEFINE LA FUNCION PARA LLAMAR CUALQUIER BASE DE DATOS
  function peticionBD(peticionBDJSON,NomPlato){

    $.post('php/consulta-actualizar-info.php', 
        {"peticionBD" :peticionBDJSON }
        ,
        function(data) {
          var infophpData = $.parseJSON(data);

          if (peticionBDJSON == "menuElpaso") {

            ingred = new Array();
            for (var i = 0; i < infophpData.length; i++) {
                window["plato_"+infophpData[i]["plato"].replace(' ','_')] = new PlatoBD(infophpData[i]["plato"] , infophpData[i]["descripcion"] , infophpData[i]["caloriasTortilla"] , infophpData[i]["precio"]);
                window["plato_"+infophpData[i]["plato"].replace(' ','_')].ingredientes("adiciones",infophpData[i]["plato"].replace(' ','')) 
            };
          };

          if (peticionBDJSON == "adiciones") {

                    else if (NomPlato =="Burritoveggy")
                    {
                        for (var i = 0; i < infophpData.length; i++) {
                            window["adicionesPara"+NomPlato+"De"+infophpData[i]["adicion"].replace(" ","_")] = new AdicionBD(infophpData[i]["adicion"] , infophpData[i][NomPlato], infophpData[i]["tipoAdicion"]);
                        };
                    }
                    else if (NomPlato =="Quesadilla")
                    {
                        for (var i = 0; i < infophpData.length; i++) {
                            window["adicionesPara"+NomPlato+"De"+infophpData[i]["adicion"].replace(" ","_")] = new AdicionBD(infophpData[i]["adicion"] , infophpData[i][NomPlato], infophpData[i]["tipoAdicion"]);
                        };
                    }
            ...
          };


        }).error(
            function(){
            alert('Error al ejecutar la petición');
          },
        'json'
        )

  }


$(document).ready(function($){
  peticionBD("menuElpaso","")
});      

回复结果为(http://wedesign-medellin.com/restaurante-elPaso/objeto-bd-domicilios.html):

PlatoBD {nombreplato: "Almuerzo", descripcion: "Sopa + elecciones + gaseosa", caloriasTortilla: "250", precio: "14.000", ingredientes: function}

1 个答案:

答案 0 :(得分:0)

使用jQuery.parseJSON(string_object)