通过Yahoo API YQL-Javascript获取JSONP数据

通过Yahoo API YQL-Javascript获取JSONP数据,javascript,json,jsonp,yql,yahoo-api,Javascript,Json,Jsonp,Yql,Yahoo Api,我有一个来自我的供应商的api,它返回JSON数据。api如下所示:- 现在这个API没有JSONP编码,所以我不能将&callback=processJS附加到这个API上 我已经读到YahooAPI可以将它从JSON转换成JSONP,我可以在我的网站上使用,但我没有成功 我的网站也有一些限制,所以我不能为此编写php代码。它必须在Javascript中完成 JSONP代码和另一个有效示例如下所示:- <span id='test'>nothing</span> &

我有一个来自我的供应商的api,它返回JSON数据。api如下所示:-

现在这个API没有JSONP编码,所以我不能将&callback=processJS附加到这个API上

我已经读到YahooAPI可以将它从JSON转换成JSONP,我可以在我的网站上使用,但我没有成功

我的网站也有一些限制,所以我不能为此编写php代码。它必须在Javascript中完成

JSONP代码和另一个有效示例如下所示:-

<span id='test'>nothing</span>

<script>
    function processJSON(json) {
        // Do something with the JSON response

        result = JSON.stringify(json);

        //alert(result);
        document.getElementById("test").innerHTML = result;

    };
</script>

<script src='http://api.flickr.com/services/feeds/photos_public.gne?tags=monkey&tagmode=any&format=json&jsoncallback=processJSON'></script>

任何想法、链接、教程和代码片段都将不胜感激。

可能这正是您所期望的。 使用Yahoo API将普通JSON转换为JSONP类型:

新的脚本标签使用我们的url对YahooAPI进行了ajax调用。 但是,你应该相信雅虎的API响应数据


希望这有帮助

多亏了10亿,它就像一个符咒。是的,我相信雅虎的API:有趣的是,它使用的是to_pin=700001,而不是to_pin=400001。对于可以访问多少API有某种限制吗。
<span id='test'>nothing</span>

<script>
/* function processJSON (json) {
  // Do something with the JSON response

result=JSON.stringify(json);

//alert(result);
document.getElementById("test").innerHTML = result;

};
*/ 
</script>

<script>
var yql_url = 'https://query.yahooapis.com/v1/public/yql';
var url = 'http://shipdesk.in/mobile/mobile_quick.php?country=IN&to_country=IN&pin=560001&weight=2.5&unit=KG&need_cod=No&to_pin=700001';

$.ajax({
  'url': yql_url,
  'data': {
    'q': 'SELECT * FROM json WHERE url="'+url+'"',
    'format': 'json',
    'jsonCompat': 'new',
  },
  'dataType': 'jsonp',
  'success': function(response) {
    console.log(response);
    document.getElementById("test").innerHTML = JSON.stringify(response);
  },
  'error': function(error) {
    document.getElementById("test").innerHTML = "error";
  }
});
</script>