在我的第一个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的新手......提前感谢。
答案 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");
}
});
}