具有JSON有效负载的Crossrider ajax帖子请求在Rails后端中无法正确接收
Crossrider ajax post requests having JSON payload are not received correctly in Rails backend
我有一个JSON对象,我想把它发布到远程服务器(Rails)。所有将其作为"application/json"发送到服务器的尝试都会失败,其中 POST 参数在某处转换为 url 编码的字符串。例如:
appAPI.request.post({
url: "http://mybackend",
postData: {hello: 'world', foo: 'bar'},
onSuccess: function(response) {
console.log("postback succeeded with response: " + response)
},
onFailure: function(httpCode) {
console.log("postback failure: " + httpCode)
},
contentType: 'application/json'
});
返回 HTTP 500,服务器从格式错误的 JSON 对象发出报告:
Error occurred while parsing request parameters.
Contents:
MultiJson::LoadError (784: unexpected token at 'hello=world&foo=bar'):
/Users/hammady/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/json/common.rb:148:in `parse'
...
我应该怎么做才能将JSON对象发送到我的Rails后端?
您需要先将对象字符串化。
postData: JSON.stringify({hello: 'world', foo: 'bar'});
使用 JSON.stringify 来字符串化发布的数据
appAPI.request.post({
url: "http://mybackend",
postData: JSON.stringify({hello: 'world', foo: 'bar'}),
onSuccess: function(response) {
console.log("postback succeeded with response: " + response)
},
onFailure: function(httpCode) {
console.log("postback failure: " + httpCode)
},
contentType: 'application/json'
});
相关文章:
- 未能从后端触发javascript
- 检查浏览器'在asp.net的后端代码中启用或禁用了s JS
- Ajax登录技术(后端php)
- 将Rails后端添加到JS/HTML/CSS应用程序时,正确的文件位置是什么
- 视图没有't在模拟后端时加载
- 是否可以在不使用外部后端的情况下编写grafana数据源插件
- 如何将Angular 2用于各种网站&使用PHP作为后端的模块
- 如何在不重新加载URL的情况下查询Node.Js的后端并更新页面
- 从后端检查Open Social小工具中的用户身份验证
- 如何使用python后端和web前端提供braintree客户端令牌
- 某些Magento后端管理按钮已停止工作
- 构建一个HTML小部件来嵌入付费内容-如何确保与后端的通信安全
- 具有JSON有效负载的Crossrider ajax帖子请求在Rails后端中无法正确接收
- 通过ajax调用将参数传递到rails后端
- Rails + Angularjs:如何与后端通信(从数据库中删除记录)
- 如果我有一个rails后端和运行在Angular.js上的客户端,如何创建一个实时通知系统
- 用Rails后端在Angular中初始化视图渲染
- 如何通过HTTP头正确地将JavaScript对象传递到Rails后端
- 了解EmberJS和Rails后端工作流程
- 使用jQuery remove()处理缓存页面(Rails后端)