gpt4 book ai didi

javascript - PHP - 将 php 数组转换为 JS 对象时遇到问题

转载 作者:行者123 更新时间:2023-11-28 18:40:23 27 4
gpt4 key购买 nike

我是 php 新手,在将 php array 转换为 JS object 时遇到一些麻烦。我正在尝试获取给定 YouTube 视频的信息。我能够在客户端接收信息,但只能以 php 数组 的形式接收。我尝试使用 $.parseJSON() 但数据被退格和冗余字符污染。
JS(使用 Angular $http):

$http({
url: "assets/controllers/youtubeInfo.php",
method: "POST",
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
data: $.param({ getInfo: videoUrl })
}).success(function(data, status, headers, config) {
// console.log(JSON.parse(data));
console.log(data);
}).error(function(data, status, headers, config) { });

PHP 代码:

function get_youtube($url) {
$youtube = "http://www.youtube.com/oembed?url=".$url."&format=json";

$curl = curl_init($youtube);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($curl);
curl_close($curl);
return json_decode($return, true);
}

$url = $videoKey;

// Display Data
print_r(get_youtube($url));

这是我的输出:

Array
(
[title] => StarCraft - OST
[html] => <iframe width="459" height="344" src="https://www.youtube.com/embed/pNt0iVG2VOA?feature=oembed" frameborder="0" allowfullscreen></iframe>
[provider_name] => YouTube
[thumbnail_height] => 360
[author_url] => https://www.youtube.com/user/JisengSo
[provider_url] => https://www.youtube.com/
[type] => video
[height] => 344
[thumbnail_url] => https://i.ytimg.com/vi/pNt0iVG2VOA/hqdefault.jpg
[version] => 1.0
[author_name] => Jiseng So
[width] => 459
[thumbnail_width] => 480
)

最佳答案

要获取 JS 对象,只需不对输出进行json_decode(或再次编码)即可:

function get_youtube($url) {
$youtube = "http://www.youtube.com/oembed?url=".$url."&format=json";

$curl = curl_init($youtube);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($curl);
curl_close($curl);
return $return; // change here
}

$url = $videoKey;

// Display Data
echo get_youtube($url); // change here

关于javascript - PHP - 将 php 数组转换为 JS 对象时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36197655/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com