Sinatra 不处理来自 phonegap 应用程序的请求

Sinatra does nothing with requests from a phonegap application

我有一个带有 post 块的简单 sinatra 服务器。如果我从浏览器发送 $.post,服务器会收到 post,但是当从我的 phonegap 应用程序发送时,它什么都不做,没有错误代码或任何输出。

我之前写了一个简单的 TCPServer#accept 进程,因为我成功了,所以我继续使用 sinatra,但发现了以下内容:

这个 post 在 sinatra 和 TCPServer.accept

中运行良好
POST /api/v/1 HTTP/1.1
Host: localho.st:8015
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Origin: http://api.jquery.com
Cookie: _fitter_session=[deleted]
Content-Length: 7
Connection: keep-alive
Accept: */*
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/601.5.17 (KHTML, like Gecko) Version/9.1 Safari/601.5.17
Referer: http://api.jquery.com/jquery.post/
Accept-Language: en-us
Accept-Encoding: gzip, deflate

下一个在 sinatra 中不起作用,但在 TCPServer 中仍然有效

POST /api/v/1 HTTP/1.1
Host: localho.st:8015
Connection: keep-alive
Content-Length: 362
Accept: application/json, text/javascript, */*; q=0.01
Origin: file://
User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; SM-G900F Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept-Encoding: gzip,deflate
Accept-Language: en-US
Cookie: _fitter_session=[deleted]
X-Requested-With: com.myapp.myphonegapp

我想我遗漏了一些明显的东西但找不到它是什么,我正在搜索 google 但没有找到解决方案或类似问题,欢迎任何帮助

提前致谢。

编辑: - 我试过 运行ning 一个 rails 服务器,它正确地接收到 post。 - 此问题会影响从 phonegap 应用程序发送的 get 和 post。

编辑2:

Sinatra 文件:

require 'sinatra'
# require 'sinatra/cross_origin'

set :port, 8015
#set :server, 'thin'

post '/api/v/1' do
  puts 'it worked!'
end

Phonegap ajax 请求:

$.post('http://localho.st:8015/api/v/1', {
        test: 'foo'
      })
        .done(function(s) {
          console.log(s);
        })
        .fail(function(e) {
          console.log(e);
        })

如果我 运行 节点服务器并为应用程序提供请求 运行 成功(在浏览器中启用了 cors)但在 android 设备上,它不会,同样,如果我在同一端口用 rails 替换 sinatra,rails 会收到请求

尝试输入您的代码set :bind, '0.0.0.0'。我猜你的服务器只在本地主机上监听。