2012-02-02 53 views
1

我目前正在從事asp.net項目。我使用oodle網絡服務。 Oodle通過URL提供結果。我使用Link從URL獲取數據。這是可能通過JavaScript?

從後面的代碼我用下面的代碼來獲取結果字符串:

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,訪問我的結果數據會更容易。

回答

1

您可以通過Javascrypt向頁面發出Ajax請求。

here's a tutorial on that

如果您使用的是一些JavaScript框架,如jQuery,這些要求會更容易做出,由於AJAX請求是有點不跨瀏覽器兼容。

the JQuery version

+0

實際上我的觀點是它不應該放在代碼後面。因爲我想用java腳本來管理這個,因爲jsonstring很容易通過javascript訪問! – Chintan 2012-02-02 12:23:35

+0

Jquery是Javascrypt框架,用javascrypt編寫,所以它不會進入代碼。 – Igarioshka 2012-02-02 12:28:57

0

你需要的是一個AJAX請求。它肯定可能沒有圖書館,但由於crossbrowser問題,我會建議使用圖書館。用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!'); 
    }); 
}); 
2

它看起來像這樣的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); 
    } 
}); 

這裏有一個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&region=chicago&category=vehicle&format=json"></script> 

這裏有一個live demo

顯然,只要您想調用API調用,就可以將此腳本標記動態注入到DOM中。

+0

It Works!謝謝 ! – Chintan 2012-02-02 12:36:09

+0

這是有限的oodle!如果你試圖改變SRC ='的https://graph.facebook.com/100003596013776/friends/ =的access_token它AAACEdEose0cBAEvWtwZBsyq7RVCEUssCnolhYKUQpXPLkoxvZASmknwHovauVAV3ZCeadOE4rhqD4Ch6wGCZAOYMZA4B6xk5PAWmwZAcZC6zlVPL36TMNJb'將無法工作!爲什麼這樣 ? – Chintan 2012-02-03 13:21:20

+1

@NoOne,我不熟悉Facebook。如果這不起作用,可能是因爲它不支持JSONP。 – 2012-02-04 20:53:46

相關問題