Javascript 如何使用php将xml中的节点内容发送到另一个页面?
如何使用php将xml中的节点内容发送到另一个页面 page.phpJavascript 如何使用php将xml中的节点内容发送到另一个页面?,javascript,php,jquery,xml,Javascript,Php,Jquery,Xml,如何使用php将xml中的节点内容发送到另一个页面 page.php <!DOCTYPE html> <html> <head> <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1 target-densitydpi=device-dpi" /> <link rel="s
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1 target-densitydpi=device-dpi" />
<link rel="stylesheet" type="text/css" href="styles.css" />
</head>
<body>
<div class="container">
<?php
$html = "";
$url = "http://d-toma.netne.net/Data.xml";
$xml = simplexml_load_file($url);
$title=$xml->page[0]->title;
$image=$xml->page[0]->image;
echo("<div class=\"main\"><img src=\"$image\"/>$title</div>");
for($i = 1; $i<4;$i++){
$title=$xml->page[$i]->title;
$image=$xml->page[$i]->image;
$title= $xml->page[$i]->title;
//$title=$xml->page->content->asXML();
$html .="<div class=\"sec\"><img src=\"$image\"/>$title</div>";
}
echo $html;
?>
</div>
</body>
<html>
我只想在单击div时打开另一个页面,并将我单击的节点的内容放在上面
请帮帮我谢谢
我只是尝试了每件事,但我不知道如何解决这个问题你可以使用会话。需要记住的重要一点是,在标题下(
header('Location:http://www.yoururl.com/displaypage.php“);
)必须与您使用/displaypage.php访问网站的url相同
因此,如果您使用“yoururl.com”访问,则必须是:header('Location:http://yoururl.com/displaypage.php');代码>但如果使用“www.yoururl.com”访问,则必须是:标题('位置:http://www.yoururl.com/displaypage.php');代码>。这是保留您对会话的访问权限所必需的
session_start();
$_SESSION['TitleImageInfo'] = array();
for($i = 1; $i < 4; $i++) {
$title=$xml->page[$i]->title;
$image=$xml->page[$i]->image;
//Add title, image html to the $_SESSION['TitleImageInfo'] session array.
$_SESSION['TitleImageInfo'] = "<div class=\"sec\"><img src=" . $image . "/>" . $title . "</div>";
}
header("Location: http://www.yoururl.com/displaypage.php");
session_start();
$\会话['TitleImageInfo']=array();
对于($i=1;$i<4;$i++){
$title=$xml->page[$i]->title;
$image=$xml->page[$i]->image;
//将标题、图像html添加到$_会话['TitleImageInfo']会话数组。
$\会话['TitleImageInfo']=“.$title.”;
}
标题(“位置:http://www.yoururl.com/displaypage.php");
在displaypage.php上:
<?php
session_start();
for($i = 1; $i < count($_SESSION['TitleImageInfo']); $i++) {
echo($_SESSION['TitleImageInfo'][i]);
}
?>
下一个解决方案与您需要的相同,只是我使用jQ:
<!DOCTYPE html>
<html>
<body>
<header>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<style>
.container {
position: relative;
width: 100%;
}
.menu {
float: left;
width: 25%;
}
.menu a {
text-decoration: none;
}
.page {
float: left;
width: 75%;
}
</style>
</header>
<body>
<div class="container">
<div class="menu">
<ul>
</ul>
</div>
<div class="page">
</div>
</div>
<script>
var $pageCollection;
function buildMenu($xmlDoc) {
var $menu = $('div.menu > ul'),
$pageDetail = $('div.page'),
items = [];
// Get page collection
$pageCollection = $xmlDoc.find('page');
$pageCollection.each(function (index, element) {
var $page = $(element),
item = $('<li><a href="javascript:void(0)" data-index="' + index + '">'
+ $page.find('title').html()
+ '<br />' + $page.find('desc').html() + '</a></li>');
items.push(item);
});
// Show page 0 for default
var $firstPage = $pageCollection.first(),
$contentPage = $firstPage.find('content').html();
$pageDetail.html($contentPage);
// Add event handlers
$menu.append(items);
$menu.on('click', 'a', onAnchorClick);
}
function getXml(url, callback) {
$.get(url, function (response) {
var $xmlDoc = $(response);
callback($xmlDoc);
});
}
function onAnchorClick(event) {
var $pageDetail = $('div.page'),
$anchor = $(event.currentTarget),
index = $anchor.attr('data-index');
// Clear previous content
$pageDetail.empty();
// Show current page
var $currentPage = $pageCollection.eq(index),
$contentPage = $pageCollection.find('content').html();
$pageDetail.html($contentPage);
}
$(function () {
var url = 'http://d-toma.netne.net/Data.xml';
getXml(url, buildMenu);
});
</script>
</body>
</html>
.集装箱{
位置:相对位置;
宽度:100%;
}
.菜单{
浮动:左;
宽度:25%;
}
.菜单a{
文字装饰:无;
}
.第页{
浮动:左;
宽度:75%;
}
var$pageCollection;
函数构建菜单($xmlDoc){
变量$menu=$('div.menu>ul'),
$pageDetail=$('div.page'),
项目=[];
//获取页面集合
$pageCollection=$xmlDoc.find('page');
$pageCollection.each(函数(索引、元素){
变量$page=$(元素),
项目=$(“”);
项目。推送(项目);
});
//默认情况下显示第0页
var$firstPage=$pageCollection.first(),
$contentPage=$firstPage.find('content').html();
$pageDetail.html($contentPage);
//添加事件处理程序
$menu.append(项目);
$menu.on('click','a',onAnchorClick);
}
函数getXml(url,回调){
$.get(url、函数(响应){
var$xmlDoc=$(响应);
回调($xmlDoc);
});
}
AnchorClick(事件)上的函数{
变量$pageDetail=$('div.page'),
$anchor=$(event.currentTarget),
index=$anchor.attr('data-index');
//清除以前的内容
$pageDetail.empty();
//显示当前页面
var$currentPage=$pageCollection.eq(索引),
$contentPage=$pageCollection.find('content').html();
$pageDetail.html($contentPage);
}
$(函数(){
var url='1〕http://d-toma.netne.net/Data.xml';
getXml(url,buildMenu);
});
该解决方案使用AJAX加载XML文件,并为content
标记解析该查找。菜单div中的锚点在XML中保存索引位置,使用它在XML页面集合中选择当前页面
问候 单击时需要一个
标记,除非您想使用JS,然后以某种方式将获取的内容作为查询参数传递,或者传递某种类型的ID,以便其他页面可以重新获取相同的信息。我知道,但我不知道如何传递内容。你能帮我传递吗?我想它会起作用,但我需要单击一些a标记来打开它,以便在显示页面上显示内容。谢谢