将PHP数组传递给javascript?
我有一个PHP数组,如下所示:将PHP数组传递给javascript?,javascript,php,arrays,Javascript,Php,Arrays,我有一个PHP数组,如下所示: $link_array = [ "Our_dogs" => "ourdogs.php", "About_us" => "aboutus.php", "Puppies" => "puppies.php", "Contact" => "contact.php", "Login" => "login.php", "Guestbook" => "guestbook.php" ]; $link_array = [
$link_array = [
"Our_dogs" => "ourdogs.php",
"About_us" => "aboutus.php",
"Puppies" => "puppies.php",
"Contact" => "contact.php",
"Login" => "login.php",
"Guestbook" => "guestbook.php"
];
$link_array = [
"Our_dogs" => "ourdogs.php",
"About_us" => "aboutus.php",
"Puppies" => "puppies.php",
"Contact" => "contact.php",
"Login" => "login.php",
"Guestbook" => "guestbook.php"
];
foreach($link_array as $key=>$value){
// note that $_SERVER['PHP_SELF'] returns filename with prepended slash
if( '/' . $value != $_SERVER['PHP_SELF'] ){
echo '<li><a href="' . $value . '">' . $key . '</a></li>';
}
}
我想将这个数组传递给javascript,然后将它打印到我的页面上,但是如果我在,例如,我们的狗的页面上,我不想显示那个链接。可能吗
我试过这个:
foreach($link_array as $key=>$value){
if(($key == "Our_dogs") && ($value == "ourdogs.php")){
$_SESSION['Our dogs'] = $value;
break;
}
$responseText['Our_dogs'] = $_SESSION['Our_dogs'];
echo json_encode($responseText);
这是给JS的:
var response = JSON.parse(this.responseText);
var li = document.createElement('li');
console.log(response.Our_dogs);
li.innerHTML = '<a href=\"' + response.Our_dogs + '\">OUR DOGS</a>';
byId("nav").appendChild(li);
var response=JSON.parse(this.responseText);
var li=document.createElement('li');
console.log(response.Our_-dogs);
li.innerHTML='';
byId(“nav”)。附属儿童(li);
但是我对这个还不熟悉,不知道怎么做。如何以正确的方式执行此操作?是否可以只打印到其他页面的链接(而不是显示的页面)?为什么您甚至需要JavaScript 您可以这样做:
$link_array = [
"Our_dogs" => "ourdogs.php",
"About_us" => "aboutus.php",
"Puppies" => "puppies.php",
"Contact" => "contact.php",
"Login" => "login.php",
"Guestbook" => "guestbook.php"
];
$link_array = [
"Our_dogs" => "ourdogs.php",
"About_us" => "aboutus.php",
"Puppies" => "puppies.php",
"Contact" => "contact.php",
"Login" => "login.php",
"Guestbook" => "guestbook.php"
];
foreach($link_array as $key=>$value){
// note that $_SERVER['PHP_SELF'] returns filename with prepended slash
if( '/' . $value != $_SERVER['PHP_SELF'] ){
echo '<li><a href="' . $value . '">' . $key . '</a></li>';
}
}
阿贾克斯:
$.ajax({
数据类型:“json”,
...
})
.完成(功能(响应){
var currentUrl=window.location.href
var currentUrlLastPart=currentUrl.substr(s.lastIndexOf('/')+1);
for(var键响应)
如果(val!=currentUrlLastPart){
var li=document.createElement('li');
li.innerHTML='';
文件.getElementById(“nav”).appendChild(li);
}
});
});
类似这样的内容?我想您是通过AJAX调用检索列表的?如果是的话,您的电话当前返回的是什么?此外,您当前是否收到任何错误等?您可以参考此链接:是的,我正在通过AJAX调用检索列表。没有错误,只是我不知道如何正确传递所有链接并只显示我想显示的链接。:)我需要将其传递给javascript,因为我想将它们传递到我拥有的if语句中,并且只向登录用户显示一些链接。谢谢,这可能会起作用,但这是真正的javascript还是可能是jQuery?@Isla Ajax call是jQuery,其他一切都是纯javascript。我猜你已经接到Ajax电话了。