簡體   English   中英

從jsonp獲取json數據

[英]obtain json data from jsonp

目前,我有一個以json格式呈現數據的url。

網址:

http://10.0.1.11/render?target=threshold(400,test)&from=-1mins&format=json&jsonp=?

在瀏覽器中運行時給我

?([{"target": "test", "datapoints": [[400, 1388755180], [400, 1388755190], [400, 1388755200], [400, 1388755210], [400, 1388755220], [400, 1388755230], [400, 1388755240]]}])

我需要將json結果放入變量中以進行進一步處理。 我嘗試了以下

foo
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
$.getJSON("http://10.0.1.11/render?target=threshold(400,test)&from=-1mins&format=json&jsonp=?", function(result){
   //response data are now in the result variable
   alert(result);
});
</script>

理想情況下,我需要:

var test = [{"target": "test", "datapoints": [[400, 1388755180], [400, 1388755190], [400, 1388755200], [400, 1388755210], [400, 1388755220], [400, 1388755230], [400, 1388755240]]}];

我要去哪里錯了?

您需要將請求解釋為jsonp而不是json。 jsonp類似於json,但它是通過方法調用包裝的json。 (請參閱: JSONP的全部含義是什么?

您可以使用類似:

    <script>
    function myCallback(json_data){
        //do something with json_data!

    }
    </script>
    <script type="text/javascript" src="http://10.0.1.11/render?target=threshold(400,test)&from=-1mins&format=json&jsonp=myCallback"></script>

要么

   <script>
        $(document).ready(function(){
            $.ajax({
                url: 'http://10.0.1.11/render?target=threshold(400,test)&from=-1mins&format=json',
                dataType: 'jsonp',
                success: function(json_data){
                        //do something with json_data!
                    }
                }
            });
        })
    </script>

(示例摘自鏈接文章)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM