这可以通过javascript实现吗

Is this possible through javascript?

本文关键字:实现 javascript 可以通过      更新时间:2023-09-26

我目前正在从事asp.net项目。我使用好的网络服务。Oodle通过URL提供结果。我使用链接从URL获取数据。

从代码背后,我使用以下代码来获取结果字符串:

string url = 
    @"http://api.oodle.com/api/v2/listings?
      key=TEST&region=chicago&category=vehicle&format=json";
var jsonString = new WebClient().DownloadString(url);

现在,我的问题是我使用按钮点击事件来运行该代码。但这是通过JavaScript吗?因为如果我使用Javascript,将更容易访问我的结果数据。

看起来这个API返回JSONP,这意味着您可以直接从javascript使用它。例如,如果使用jQuery,则可以使用$.ajax()方法:

$.ajax({
    url: 'http://api.oodle.com/api/v2/listings?key=TEST&region=chicago&category=vehicle&format=json',
    type: 'GET',
    dataType: 'jsonp',
    jsonpCallback: 'jsonOodleApi',
    success: function(result) {
        alert(result.current.region.id);
    }
});

这是一个现场演示。


如果你不使用jQuery,你可以简单地定义一个回调:

var jsonOodleApi = function(result) {
    alert(result.current.region.id);
};

然后包括指向该url的<script>

<script type="text/javascript" src="http://api.oodle.com/api/v2/listings?key=TEST&region=chicago&category=vehicle&format=json"></script>

这是一个现场演示。

显然,只要您想调用API调用,就可以将这个脚本标记动态地注入到DOM中。

您可以通过Javascrypt向页面发出Ajax请求。

这是关于的教程

如果你使用一些JavaScript框架,比如JQuery,那么这些请求会更容易发出,因为AJAX请求有点不兼容跨浏览器。

JQuery版本

您想要的是AJAX请求。当然可能没有库,但由于跨浏览器的问题,我建议使用库。以jQuery为例,它可能看起来像这样(在脚本的文档准备部分):

$("#idOfButton").click(function() {
  $.get('string url= @"http://api.oodle.com/api/v2/listings?key=TEST&region=chicago&category=vehicle&format=json', function(jsonString) {
    alert('Data is now in variable jsonString!');
  });
});