Pinterest通过HTML / JavaScript引脚

时间:2015-07-13 14:02:59

标签: javascript html pinterest xmlhttprequest

我一直在使用pins从pinterest获取pin的信息。

以下是正在使用的脚本:

<script type="text/javascript">
    function getresponse1()
    {
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", "https://widgets.pinterest.com/v3/pidgets/pins/info/?pin_ids="+{Pin ID});
    alert(xmlHttp.status);
    var data=xmlHttp.responseText;
    var jsonResponse = JSON.parse(data);
    var pin_url="www.pinterest.com/pin/"+pin_id+"/";
    var page_name=(jsonResponse["data"][0].pinner.full_name);
    alert(page_name);
    }
    </script>

每当调用XMLHttpRequest()方法时,返回的状态始终为0,xmlHttp.responseText为空。

但是当在浏览器中打开link时,响应是正确的并且具有该引脚的所有信息。

编辑:

尝试过实施跨域。但状态返回0。 新脚本:

<script type="text/javascript">
function getresponse1()
{
    var xhr = new XMLHttpRequest();
    var url="https://widgets.pinterest.com/v3/pidgets/pins/info/?pin_ids=308074430730714588";
      if ("withCredentials" in xhr) {
        xhr.open("GET", url, true);    
      } else if (typeof XDomainRequest != "undefined") {

        xhr = new XDomainRequest();
        xhr.open(method, url);

      } else {

        xhr = null;

      }
      alert(xhr.status);
      var data=xhr.responseText;
}
</script>

请让我知道我在哪里弄错了。提前致谢

注意:我正在使用Chrome浏览器

2 个答案:

答案 0 :(得分:0)

这是一个常见问题,因为您尝试向其他网站(跨域)执行ajax请求。

这根本不是一个新问题,我认为here它已得到很好的解释,这篇文章也提供了一些关于可能解决方案的想法。

答案 1 :(得分:0)

AJAX是异步的,因此您的数据只能从某种回调中获得。

xhr.onload = function() {
    if (xhr.status >= 200 && xhr.status < 400) {
        var data = JSON.parse(request.responseText);
    }
};