我正在尝试使用ajax向instagram api发送删除请求,但我当前的javascript代码在警告框中显示响应:
<pre></pre><pre></pre>
所以我找不到删除请求不成功的问题!如果我从浏览器调用相同的PHP脚本(doit.php)并传递媒体ID,那么删除将成功!
任何人都可以告诉我当前删除ajax请求无法向Instagram API发送删除请求有什么问题吗?
Instagram API Docs for Deleting Like
样本api响应:
{
"meta": {
"code": 200
},
"data": null
}
的javascript:
<script>
function deleteLike(a,b)
{
alert("MediaID:"+a+"\nId:"+b);
var url = "./doit.php";
$.post(url, {
"method": "post",
//"method": "delete",
"MediaID": a,
}, function(data)
{
var ajaxResponse = data;
alert("Response:"+ajaxResponse);
if (data.meta.code == 200) {
alert("sucessDelete");
}
})
}
</script>
PHP代码:
$MediaIDvar= $_POST["MediaID"];
//$MediaIDvar= $_GET["MediaID"];
$url2 = "https://api.instagram.com/v1/media/".$MediaIDvar."/likes?xxxxx";
$api_response2 = get_data2(''.$url2);
$record2 = json_decode($api_response2); // JSON decode
echo '<pre>' . print_r($api_response2, true) . '</pre>';
echo '<pre>' . print_r($record2, true) . '</pre>';
// to see what is in the $api_response and $record object
/* gets the data from a URL */
function get_data2($url2) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
答案 0 :(得分:0)
$ MediaIDvar = $ _POST [“MediaID”];
$ MediaIDvar = $ _GET [“MediaID”]; // =&gt;这将覆盖之前的$ MediaIDvar
如果你用一个GET变量调用php脚本,而不是通过使用POST的ajax调用它,它会工作; - )