如何将此PHP转换为JavaScript?
我无法理解如何将此PHP转换为JavaScript?,javascript,php,arrays,Javascript,Php,Arrays,我无法理解$url来自何处,以及getStories()的意义是什么 显然有更好的人在那里,但这是我的尝试 函数callAPI(方法、url、数据=false){ 返回获取(url{ 方法 }) } 函数getStories(){ const api_key=“ue5gpNuOXmVwacpftV5uEmjyTFwYmM4i”; 常量url=`http://api.nytimes.com/svc/topstories/v2/home.json?api-key=${api_key}`; } (异
$url
来自何处,以及getStories()的意义是什么
显然有更好的人在那里,但这是我的尝试
函数callAPI(方法、url、数据=false){
返回获取(url{
方法
})
}
函数getStories(){
const api_key=“ue5gpNuOXmVwacpftV5uEmjyTFwYmM4i”;
常量url=`http://api.nytimes.com/svc/topstories/v2/home.json?api-key=${api_key}`;
}
(异步()=>{
常量url=''
const data=await callAPI('GET',url.),然后(response=>response.json());
让输出=“”
对于(让数据项。结果){
让图像=“”;
if(数组.isArray(项.多媒体)){
const[firstMultimedia]=item.multimedia;
常数{
高度,
宽度,
url:img_url,
说明文字
创建日期
}=第一多媒体;
const date=新日期(创建日期);
const shortdate=date.toDateString();//有关更复杂的格式,请使用第三方
图像=``;
继续;
}否则{
图像=``;
}
常数{
标题
url:story_url,
署名行
第节,
摘要
}=项目
输出=输出+`
`
}
})()
在JavaScript中,您可以使用CURL来从API获取数据,也可以创建html标记来创建内容。最后,只需使用该方法将字符串模板合并到#root div主体中的html文件主体中。请查看此示例
const baseurl=”http://api.nytimes.com/svc/topstories/v2/";
const API_KEY=“ue5gpNuOXmVwacpftV5uEmjyTFwYmM4i”;
异步函数fetchNews(section=“home”){
const response=wait fetch(`${baseurl}${section}.json?api key=${api_key}`);
return wait response.json();
}
函数render(){
fetchNews()。然后((新闻)=>{
const{num_results,results}=news;
常量输出=结果
.map((条目)=>{
const{height,width,url,caption}=entry.multimedia[1];
常量图像=``;
返回`
${entry.byline}
${entry.created_date}
`;
})
.加入(“”);
document.querySelector(“#root”).innerHTML=output;
});
}
render()代码>
你能告诉我们这段代码应该做什么吗?这段代码将显示来自API的信息。你确定要使用带API_键的JavaScript代码吗?以正方形显示它,包括信息标题、由谁编写、由哪个部分编写等。JavaScript为了从API获取数据,你可以使用fetch,你可以在这篇文章中了解很多信息,我们无法访问api结果,在您的问题中,您需要处理此api结果,因此如果您可以提供结果示例,我们可以为您提供更接近预期结果的解决方案
<?php
function CallAPI($method, $url, $data = false) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url)
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
function getStories() {
echo "<div id=\"stories\">";
api_key = "ue5gpNuOXmVwacpftV5uEmjyTFwYmM4i";
url = "http://api.nytimes.com/svc/topstories/v2/home.json?api-key=".api_key;
}
$data = json_decode(CallAPI('GET', $url));
$num_results = $data -> num_results;
$output = '';
$title = '';
$story_url = '';
$byLine = '';
$section = '';
$abstract = '';
$height = '';
$width = '';
$img_url = '';
$caption = '';
$shortdate = '';
for ($i = 0; $i < $num_results; $i++) {
if (is_array($data -> results[$i] -> multimedia)) {
$height = $data -> results[$i] -> multimedia[1] -> height;
$width = $data -> results[$i] -> multimedia[1] -> width;
$img_url = $data -> results[$i] -> multimedia[1] -> url;
$caption = $data -> results[$i] -> multimedia[1] -> caption;
$date = date_create($data -> results[$i] -> multimedia[1] -> created_date);
$shortdate = date_format($date, "F j, Y, g:i a");
$image = "<img class=\"storypic\" src=\"".$img_url. '" alt="'.$caption. '" height="'.$height. '" width="'.$width. "\"/>";
} else {
$image = "<img class=\"storypic\" src=\"https://placehold.it" height =\"75\" width=\"75\" alt=\"Placeholder image\"/>";
}
$output.= '<div class="story">';
$title = $data -> results[$i] -> title;
$story_url = $data -> results[$i] -> url;
$byLine = $data -> results[$i] -> byLine;
$section = $data -> results[$i] -> section;
$abstract = $data -> results[$i] -> abstract;
$output.= '<div class="headline><a href"'.$story_url. '">'.$title. "<a/></div>".$image. "<div>".$byLine. "</div><div>".$shortdate "\"/>"
}
echo $output. "</div>";
}