如何将此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>";

}