通过Javascript从html更改为html,保留一个变量

时间:2015-06-26 22:04:07

标签: javascript php jquery html ajax

在我的第一个webapp上工作,与此有冲突,我希望有一个简单的解决方案:/

我有这个只有html结构的profile.html,我用php和我的数据库动态填充它,到目前为止都很酷。

我还有另外一个search-results.html,其中有一堆查询'Post'开始根据过滤器构建结果......到目前为止一切都很好。

现在问题是,当用户点击search-results.html上的产品时,我需要能够向我的profile.html发送正确的ID,我给每个产品一个数据产品ID,问题是那个我卡住了,因为我不知道如何在点击产品时打开profile.html,并以某种方式让profile.html实际点击了哪个产品...这里有一些代码只是为了让我更容易理解我的情况。

profile.html

$(document).ready(function(){
      var num=(Math.random()*3+1);
      num=num|0;
      num=num.toString();
      var n=num.toString();

        ajaxPost("Path/get.php", { id : n}, function(result){
          var json=JSON.parse(result);
          if(json.error==0){
          console.log(json);
          $('img#fotoProfile').attr('src',json.response.profile_picture);             
          var nombreFoodtruckConCiudadyPais = json.response.name + "   <span class='subtitle'>@" + json.response.cities + "</span>";
          $('h2.profile-name').html(nombreFoodtruckConCiudadyPais);
          $('#foodtruckName').html(json.response.name);
          $('div#descripcion p#descripcionText').html(json.response.description);
          $('a#emailText').attr('href',json.response.mail);
          $('div#email a#emailText').html(json.response.mail);
          $('div#rating p#ratingText').html(json.response.rating);
          $('div#categoria p#categoriaText').html(json.response.category);
          var origen = json.response.cities + ', ' + json.response.states + ', ' + json.response.countries;
          $('div#origen p#origenText').html(origen);
          $('div#telefono p#telefonoText').html(json.response.phone);
        }else{
          alert("Foodtruck Not Found");
        }
        });

search-results.html on click handler ...

$(document).on('click', '[data-idFT]', function(){ 
            var x=($(this).data('idft'));
            //What do I do here?
         });

基本上我卡在那里。我的x应该是我的profile.html ajaxPost id:n ...

我希望我能得到一些帮助,我是webapps的新手......提前感谢。

2 个答案:

答案 0 :(得分:0)

您需要将'x'作为参数添加到profile.html网址,即profile.html&amp; idft = x

$(document).on('click', '[data-idFT]', function(){ 
  var x=$(this).data('idFT');           
  var url = "profile.html?idft="+x;    
  window.location.href = url;
})

如果使用JavaScript在profile.html上检索参数,请使用此帖子中的某些技术 How to get the value from the GET parameters?

或者听起来您可能需要在PHP中使用它,如果您访问数据库,那么您只需要:

<?php
echo htmlspecialchars($_GET["idft"]);
?>

答案 1 :(得分:0)

如果您更喜欢没有刷新页面的Ajax渲染数据,我会更简单地使用:

     $(document).on('click', '[data-idFT]', function(){ 
      var x=$(this).data('idFT');           
      myfunction(x);
 });

现在将其传递给Ajax:

function myfunction(n) 
  {
      ajaxPost("Path/get.php", { id : n}, function(result){
      var json=JSON.parse(result);
      if(json.error==0){
      console.log(json);
      $('img#fotoProfile').attr('src',json.response.profile_picture);             
      var nombreFoodtruckConCiudadyPais = json.response.name + "   <span class='subtitle'>@" + json.response.cities + "</span>";
      $('h2.profile-name').html(nombreFoodtruckConCiudadyPais);
      $('#foodtruckName').html(json.response.name);
      $('div#descripcion p#descripcionText').html(json.response.description);
      $('a#emailText').attr('href',json.response.mail);
      $('div#email a#emailText').html(json.response.mail);
      $('div#rating p#ratingText').html(json.response.rating);
      $('div#categoria p#categoriaText').html(json.response.category);
      var origen = json.response.cities + ', ' + json.response.states + ', ' + json.response.countries;
      $('div#origen p#origenText').html(origen);
      $('div#telefono p#telefonoText').html(json.response.phone);
    }else{
      alert("Foodtruck Not Found");
    }
    });
 }