在Rack应用程序中使用JavaScript响应
我有一个Rack应用程序,需要用JavaScript响应。我正在尝试将内容类型设置为JavaScript,同时发送响应,但它不起作用,似乎我遗漏了一些东西 我发送的简单回复是:在Rack应用程序中使用JavaScript响应,javascript,ruby,web,rack,Javascript,Ruby,Web,Rack,我有一个Rack应用程序,需要用JavaScript响应。我正在尝试将内容类型设置为JavaScript,同时发送响应,但它不起作用,似乎我遗漏了一些东西 我发送的简单回复是: require 'rubygems' require 'rack' run Proc.new { |env| ['200', {'Content-Type' => 'application/javascript'},["alert('hi')"]]} Rack应用程序能否响应JavaScript内容类
require 'rubygems'
require 'rack'
run Proc.new { |env| ['200', {'Content-Type' => 'application/javascript'},["alert('hi')"]]}
Rack应用程序能否响应JavaScript内容类型?或者可能是浏览器没有执行收到的JavaScript?正如@matt在上面所说的,我想弄明白的是,你不能只给浏览器js,然后期望它运行。它必须由ajax回调执行。以jQuery为例:
$.ajax({
url: "/path/to/your/js",
dataType: "script"
});
属性告诉jQuery执行服务器返回的脚本。关键是你需要javascript来执行javascript,仅仅导航到URL是不行的。你有没有看过Firebug或Chrome工具中的网络流量?你能展示一下中间件的其余部分吗?响应看起来很好。你能发布接收此响应的JS吗?@yoavmatchulsky这是一个简单的两行代码运行Proc.new{{env |['200',{'Content-Type'=>'application/javascript'},['alert('hi')”]],在浏览器中,它是以文本形式呈现,而不是执行javascript。我认为这是相关的:。您所做的设置内容类型是可以的,但浏览器不会执行像这样直接下载的js代码。