【问题标题】:handle javascripts objects with jquery用 jquery 处理 javascripts 对象
【发布时间】:2014-11-23 15:50:59
【问题描述】:

我使用 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}

【问题讨论】:

  • jQuery 只是一个让 JavaScript 更易于使用的库。您可以在 jQuery 中使用 vanilla JavaScript,因此如果您对 jQuery 中您可以使用的部分更满意,请使用标准 JS。
  • 您要么需要手动将响应数据解析成html,要么使用模板引擎脚本将数据传递给
  • 好的,我认为它应该t be so confuse, i use it now simple as this: NameofObject["firstValueObjec"] or dinamically like: window["generalName"+ParticularName]["firstValue"]] but for example i didnt 找到计算对象数量的方法,尝试这样做:ObjectFunction.length 不起作用

标签: javascript jquery arrays javascript-objects


【解决方案1】:

使用 jQuery.parseJSON(string_object)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多