我希望我的Instagram网站的第一页加载照片存储照片ID等,当用户点击相似按钮时,类似的内容会被发送到likes.php,这会将类似的内容发送到Instagram 。以下示例:
<?php
require 'instagram.class.php';
$instagram = new Instagram(array(
'apiKey' => '******************',
'apiSecret' => '******************',
'apiCallback' => 'http://****/****/index.php'
));
$token = // code that generates and properly stores token;
$instagram->setAccessToken($token);
$id = $_GET['pic'];
$instagram->likeMedia($id);
if ($result->meta->code === 200) {
echo 'Success! The image was added to your likes.';
} else {
echo 'Something went wrong :(';
}
?>
并且举例来说,现在发送类似的页面看起来像:
echo "<img src='like.jpg' class='like' onclick='SendID("4358734534_5435435")'>";
SendId应该是什么样的?或者为了完成这项任务会有什么好处,我只是你能够点击上面创建的按钮并将该照片的id发送给likes.php
答案 0 :(得分:1)
onclick 是一个所谓的“事件处理程序”。 通常,它们是用JavaScript编写的。
您的示例是名为 SendID 的JavaScript 函数。
您必须使用Ajax访问您提到的页面(likes.php)。 实现它的最简单方法之一是使用jQuery。
在下面的参考资料中阅读更多相关信息。
参考文献:
答案 1 :(得分:1)
样品:
echo "<img src='like.jpg' class='like' onclick='likePic(".$picId.",".$userId.")'>";
使用JQuery http://jquery.com/:
function likePic(picId, userId){
$.get('path/to/like.php?picid=' + picId + '&userid=' + userId+ "&r=" + (new Date().getTime()), function(data) {
if (data != "ok") {
//maybe error handling, if like.php does not return "ok".
}
}
}
没有jQuery(纯JavaScript)
function likePic(picId, userId){
var xhr = new XMLHttpRequest();
xhr.open("GET", 'path/to/like.php?picid=' + picId + '&userid=' + userId+ "&r=" + (new Date().getTime()), true);
xhr.onload = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
if (xhr.responseText != "ok") {
//maybe error handling, if like.php does not return "ok".
}
}
}
};
xhr.send(null);
}
两个示例的"&r=" + (new Date().getTime())
只是为了避免webbrowser对结果进行缓存。