我目前正在研究asp.net项目。我使用oodle web服务。 Oodle通过URL提供结果。我使用Link从网址获取数据。
从后面的代码我使用以下代码来获取结果字符串:
string url =
@"http://api.oodle.com/api/v2/listings?
key=TEST®ion=chicago&category=vehicle&format=json";
var jsonString = new WebClient().DownloadString(url);
现在,我的问题是我使用按钮单击事件来运行该代码。但这是通过JavaScript
吗?因为如果我使用Javascript
,访问我的结果数据会更容易。
答案 0 :(得分:2)
看起来这个API返回JSONP,这意味着你可以直接从javascript中使用它。例如,如果您使用jQuery,则可以使用$.ajax()
方法:
$.ajax({
url: 'http://api.oodle.com/api/v2/listings?key=TEST®ion=chicago&category=vehicle&format=json',
type: 'GET',
dataType: 'jsonp',
jsonpCallback: 'jsonOodleApi',
success: function(result) {
alert(result.current.region.id);
}
});
这是live demo。
如果你不使用jQuery,你可以简单地定义一个回调:
var jsonOodleApi = function(result) {
alert(result.current.region.id);
};
然后包含指向此网址的<script>
:
<script type="text/javascript" src="http://api.oodle.com/api/v2/listings?key=TEST®ion=chicago&category=vehicle&format=json"></script>
这是live demo。
显然,只要您想调用API调用,就可以将此脚本标记动态注入DOM。
答案 1 :(得分:1)
您可以通过Javascrypt向页面发出Ajax请求。
如果你正在使用一些JavaScript框架,比如JQuery,这些请求将更容易制作,因为AJAX请求有点不兼容跨浏览器。
答案 2 :(得分:0)
你想要的是一个AJAX请求。它当然可能没有库,但由于crossbrowser问题,我建议使用库。以jQuery为例,它可能看起来像这样(在脚本的文档准备部分中):
$("#idOfButton").click(function() {
$.get('string url= @"http://api.oodle.com/api/v2/listings?key=TEST®ion=chicago&category=vehicle&format=json', function(jsonString) {
alert('Data is now in variable jsonString!');
});
});