我想知道用户在我的 Javascript 代码中输入的给定 url 的内容类型。实际上,我有一个下拉列表(html、csv、xls 等),我想这样做,所以当用户输入一个 url 时,我想检测 url 内容的类型并基于这种类型我想要设置我的下拉列表的值(html、csv、xls 等)。我知道,我可以像这样使用 Ruby 获取内容类型:
require 'open-uri'
str = open('http://example.com')
str.content_type #=> "text/html"
或者,我也可以使用 curl 获取内容,然后解析它以了解内容类型。但是,由于上面解释了我的需要,我需要在我的 Javascript 代码中执行此操作。任何想法 ?
编辑_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 路径?我应该如何在这里指定脚本路径?(相对或绝对)