Javascript 从jsonp获取json数据
目前,我有一个以json格式呈现数据的url 网址: 当在浏览器中运行时Javascript 从jsonp获取json数据,javascript,jquery,json,Javascript,Jquery,Json,目前,我有一个以json格式呈现数据的url 网址: 当在浏览器中运行时 ?([{"target": "test", "datapoints": [[400, 1388755180], [400, 1388755190], [400, 1388755200], [400, 1388755210], [400, 1388755220], [400, 1388755230], [400, 1388755240]]}]) 我需要一个变量中的json结果进行进一步处理。我尝试了以下方法 foo <
?([{"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>
哪里出错了?您需要将请求解释为jsonp而不是json。jsonp类似于json,但它是包装在方法调用中的json。(见:) 您可以使用以下内容:
<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>
函数myCallback(json_数据){
//用json_数据做点什么!
}
或
$(文档).ready(函数(){
$.ajax({
网址:'http://10.0.1.11/render?target=threshold(400,测试)&from=-1min&format=json',
数据类型:“jsonp”,
成功:函数(json_数据){
//用json_数据做点什么!
}
}
});
})
(示例改编自链接帖子)结果变量有什么问题?您想做什么处理?你知道它是如何工作的吗?这与JSON无关?我忘了添加源代码,所以错过了警报。添加源时,我的警报状态为[object object],您没有说明问题所在。我猜您依赖于
alert()
进行调试,从而将所有数据转换为字符串。找到你的浏览器控制台。我个人建议不要在没有明显原因的情况下手动使用jQuery来处理AJAX内容。@lvaroG.Vicario,你有什么建议?我正在尝试为长颈鹿添加制表功能。我有以下功能
var test = [{"target": "test", "datapoints": [[400, 1388755180], [400, 1388755190], [400, 1388755200], [400, 1388755210], [400, 1388755220], [400, 1388755230], [400, 1388755240]]}];
<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>