2014-11-23 79 views
0

即時通訊使用JSON解析來自MYSQL的一些數據,但爲了在一次調用中就把所有的信息都存入JAVASCRIPT OBJECTS(正常工作),問題是我不知道不知道如何使用JQUERY來填充一些div,並集成不同功能的對象信息。這是我的工作:用jquery處理javascripts對象

// 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}

+0

jQuery是簡單的,使得JavaScript的一個小庫比較容易使用。你可以在jQuery中使用vanilla JavaScript,所以使用標準的JS,如果你更願意這樣做,你可以使用jQuery的部分。 – ggdx 2014-11-23 15:54:11

+0

您需要手動將響應數據解析爲html或使用模板引擎腳本將數據傳遞至 – charlietfl 2014-11-23 15:54:37

+0

好吧,我認爲它不應該如此混淆,我現在簡單地使用它: NameofObject [「firstValueObjec」] 或dinamically: window [「generalName」+ ParticularName] [「firstValue」]] 但例如我沒有找到方法來計算對象的數量,嘗試這樣做: ObjectFunction.length Doesn't工作 – Tbars84 2014-11-23 20:47:56

回答

0

使用jQuery.parseJSON(string_object)