当用户点击艺术家时,他们会看到该艺术家的专辑。这需要使用ajax。我需要知道如何解析相册名称,发布日期等项目。这是JSON File的链接。
任何帮助将不胜感激。我和OH已经在网上做了一些研究,但没有任何理由我计划做什么。
干杯,
萨姆
答案 0 :(得分:1)
您熟悉JavaScript对象和数组吗?因为那基本上都是JSON。 (不是居高临下;当我学习HTML时,我只能理解XML,而在学习JS之后我只获得了JSON。)
一旦你理解了JS对象/数组,如果你要在PHP中使用JSON,你就需要了解JS数组与PHP数组基本相同,并且JS对象基本上与PHP关联数组。
最后一部分是函数:当你得到JSON时,它可能只是一个字符串。如果您使用的是PHP 5.2,则可以访问json_decode
,它将JSON转换为数组/关联数组。
如果我只是重复你已经知道的东西,这根本没有帮助,那么你可能需要更详细地了解你的问题。
修改强>
在阅读了对其他答案的评论后,听起来您正在尝试执行以下操作:
这是对的吗?如果是,那么我之前说的几乎所有内容都是无用的。您可能希望从file_get_contents
开始。您所要做的就是为它提供JSON的URL,并将JSON作为字符串返回。
现在,如果您只是使用PHP获取它,以便可以直接将其发送到JavaScript,那么字符串就可以了。只需echo
以JS可以处理的方式:
<script>
var data = <?php echo $JSON ?>;
</script>
请注意,最大的问题是它根本不执行任何安全检查。你可能会没事的,但请记住这一点。
答案 1 :(得分:0)
因为我对你使用PHP的方式还不是很清楚(不管你是这样通常是指你的页面,或者你是否会直接用php操纵json),这可能会或者可能会没有帮助:
页面(也许它是用php生成的?):
<html>
<head>
<script type="text/javascript">
function search()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var resp = JSON.parse(xmlhttp.responseText);
document.getElementById("result").innerHTML="";
for(var i=0;i<resp.results.length;i++){
document.getElementById("result").innerHTML+=resp.results[i].trackName+'<br/>';
}
}
}
xmlhttp.open("GET","it_search.php?artist="+document.getElementById('search').value,true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="myDiv"><input type="text" id="search"/><br/>
<button type="button" onClick="search()">search</button></div>
<div id="result"></div>
</body>
</html>
PHP Scraper:
<?php
header("content-type: application/x-javascript");
$var=urlencode($_REQUEST["artist"]);
$file=file_get_contents("http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStoreServices.woa/wa/wsSearch?term=".$var."&limit=20");
echo $file;
?>