我想知道用戶在我的Javascript代碼中輸入的給定url的內容類型。實際上,我有一個下拉列表(html,csv,xls等),我想這樣做,當用戶輸入一個網址時,我想檢測網址內容的類型,並基於這種類型I想要設置我的下拉列表(html,csv,xls等)的值。我知道,我可以使用Ruby這樣的內容類型:如何獲得Javascript內部給定url的內容類型?
require 'open-uri'
str = open('http://example.com')
str.content_type #=> "text/html"
,或者還,我可以用捲曲來獲取內容,然後分析它知道的內容類型。但是,我需要在我的Javascript代碼中執行此操作,因爲上面解釋了我的需要。任何想法 ?
EDIT_1:
我想這個代碼我的javascript:
$("#wiki_form_url").change(function(){
$.ajax({
type: "GET",
url: "content.rb",
data: {
// input_url: $("#wiki_form_url").val()
},
dataType: "html"
}).done(function (data) {
// `data` contains the content-type
alert('Success !!!');
}).fail(function() {
alert("failed AJAX call");
});
});
我有一個Ruby腳本content.rb裏面,我做的事:
require 'open-uri'
str = open('http://www.ofdp.org/benchmark_indices/25')
str.content_type
但是,它似乎沒有工作。我得到Ajax失敗。可能是因爲腳本content.rb的url路徑?我應該如何在這裏指定腳本路徑? (相對或絕對)
運行JavaScript的環境是什麼?節點? WSH?瀏覽器擴展?瀏覽器中的網頁? – Quentin
您是否已經選擇了一個庫或api來創建HTTP請求?如果是這樣,哪個? – Quentin
我認爲你必須向你的服務器發出一個AJAX請求,然後使用你的代碼,迴應AJAX,並做適當的事情。您將無法使用Javascript進行跨域請求並獲取其內容類型 – Ian