【问题标题】:How to display instagram API response in javascript alert?如何在 javascript 警报中显示 instagram API 响应?
【发布时间】:2013-09-18 13:53:01
【问题描述】:

我正在尝试使用 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;
}

【问题讨论】:

  • 使用 console.log(data); 和 chrome 检查器或 Firefox 的 Firebug。
  • 在萤火虫中我得到
    
    
     作为回应!为什么当我从浏览器调用 php 时它可以找到并给我正确的响应但是当我从 ajax 调用它时我得到 
    
    
     并且删除失败?

标签: javascript php jquery ajax instagram


【解决方案1】:

$MediaIDvar= $_POST["MediaID"];

$MediaIDvar= $_GET["MediaID"]; // => 这将覆盖之前的 $MediaIDvar

如果您使用 GET 变量而不是通过 ajax 使用 POST 调用 php 脚本,它将起作用;-)

【讨论】:

  • 感谢您的回复。我在没有 $MediaIDvar= $_GET["MediaID"] 的情况下尝试了它,但仍然没有响应!我认为 api 响应是一种 xml。所以你认为我的显示反应方式是正确的?如果删除是 sussffule 我应该得到 code:200 作为响应!但现在我得到了
    
    
     我的 api 响应的两个回声!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-17
  • 1970-01-01
  • 2011-11-17
  • 1970-01-01
  • 2017-05-03
  • 1970-01-01
相关资源
最近更新 更多