为什么我没有使用$.post()从我的Sinatra web服务获得响应?
Why don't I get a response from my Sinatra web service using $.post()?
我正在通过Ajax向Sinatra web服务发送JSON,但我没有得到任何响应。
这是请求:
$.post('http://url:port/service/task/create',JSON.stringify(sendData),function(data){
alert('success!' + data);});
Sinatra web service是:
post '/service/task/create' do
puts 'create task'
data = request.body.read
jsonData = JSON.parse(data)
puts 'received JSON: ' + jsonData.to_s
data.to_json
end
我也试过:
json data
但是没有效果。
我验证了服务接收到请求,Firebug告诉我请求以"200 OK"结束,但答案是空的。
使用纯JavaScript ajax调用,我看到状态总是0
,我不知道为什么。
您应该尝试在处理程序中添加content_type
,以便Sinatra知道要向HTTP响应头添加什么:
如果你想/需要,可以用'application/json'
代替:json
。
此外,您应该能够从curl
或使用HTTParty的命令行工具命中该URL。发送一些JSON,看看你会得到什么。
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 在Web应用程序中使用Highcharts javascript
- WebDriverException:tinyMCE未在selenium Web driver java中定义
- Selenium Web驱动程序和javascript
- Windows形成web浏览器控件和Javascript更改的DOM
- 如何将javascript事件从web浏览器wpf控件发送到wpf的c#代码
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- 在调用speak之前预加载Web Speech API
- 如何在visualstudio中调试web api时编辑javascript文件
- 是否存在React Native“;WEB代码安全防护”;
- 如何在Ionic Android中将Javascript注入到web视图中
- 将复杂对象从angular js传递到web api,它总是返回404
- 基于api密钥的NodeJS web服务
- 将下载链接从web浏览器传递给第三方应用程序
- 基于Web的JS调试库
- 使用javascript在客户端上使用Web服务
- 如何通过安全的https连接在javascript中使用基于soap xml的Web服务
- 从Javascript连接到SOAP Web服务
- 自定义HTML元素属性未显示-Web组件
- 为什么我没有使用$.post()从我的Sinatra web服务获得响应?