XML字符串和解析使用jQuery
问题描述:
这里是我的html页面的一段jQuery代码XML字符串和解析使用jQuery
$.ajax({
url: 'userlist.php',
type: 'post',
data: 'id='+extr,
success: function(results){
$("#uservidshow").text("Page Title: "+$(results).find("vidlist").attr("title"));
//$("#uservidshow").text(results);
$(results).find("vids").each(function(){
$("#uservidshow").append("<br/><br/>Video Name: "+$(this).attr("vtitle")+"<br/>Link: "+$(this).attr("link")+"<br/>Description: "+$(this).find("descr").text()+"<br/><br/>");
});
}
});
---这里是被显示在DIV#uservidshow输出---
页标题:未定义
视频名称:儿童视频
链接: http://www.youtube.com/watch?v=PIchX1LX0
说明:
我的问题是:
为什么我得到 '未定义' 页面的标题?
为什么我在描述中显示空白而不是显示cdata内容?
---这里是一块从userlist.php代码---
<?php
$getid=$_POST['id'];
....
[few lines of code]
....
$pickfrmtab= mysql_query("SELECT * FROM mytable WHERE userid='$getid'");
if(mysql_num_rows($pickfrmtab)==1){
while($row = mysql_fetch_array($pickfrmtab)){
echo htmlspecialchars_decode($row['pagecontent'], ENT_QUOTES); //'pagecontent' contains my xml string
}
}else{
echo "Unable to get PLAYLIST";
}
?>
---这里是在存储在数据库中的XML字符串列名'pagecontent'---
<?xml version='1.0' encoding='UTF-8' ?><vidlist title='My Fav Videos'>
<vids link='http://www.youtube.com/watch?v=PIchX1LX0' vtitle='Kids video'>
<descr><![CDATA[this is nice]]></descr>
</vids>
<comment allow='no'></comment>
</vidlist>
正如你可能已经猜到了,我已经将其插入到数据库之前应用的htmlspecialchars(),以实际的XML字符串
$xmldata="<?xml version='1.0' encoding='UTF-8' ?>".$_POST['actualxmlstrng'];
$xmldata_safe=htmlspecialchars($xmldata, ENT_QUOTES);
//inserted $xmldata_safe into the datacbase field 'pagecontent' SUCCESSFULLY
只给你一个想法,这就是$ XMLDATA看起来像在申请前用htmlspecialchars:
<?xml version='1.0' encoding='UTF-8' ?>
<vidlist title='My Fav Videos'>
<vids link='http://www.youtube.com/watch?v=PIchX1LX0' vtitle='Kids video'>
<descr><![CDATA[this is nice]]></descr>
</vids>
<comment allow='no'></comment>
</vidlist>
答
您还没有发布的数据正确
使用此代码
$.ajax({
url: 'userlist.php',
type: 'post',
data: {'id=': extr},
dataType: "xml",
.....
,或者您可以使用
$.ajax({
type: 'GET',
url: 'userlist.php?id='+extr,
dataType: "xml",
.....
+0
谢谢,但我没有在POSTING数据(ID)的麻烦。问题是只有在阅读我的xml的时候。这也只是“部分”的XML数据没有被jQuery读取 –
编辑:花了大量的时间和打破我的头试图弄清楚这一点之后,我总算得到它的工作。 –
...但我还是不明白这种马车行为的原因。为了使它工作,我不得不从我的数据库中删除整个