我正在尝试使用 Sencha Touch 创建一个表单,它将在一个简单的 Rails 3 应用程序中创建一个新任务。我实质上是在向这个问题添加嵌套 JSON 。
为了简化测试,我将参数硬编码到请求中。Rails 应用程序是使用以下工具创建的:
$rails g scaffold task name:string
Sencha Touch Ajax 请求:
Ext.Ajax.request({
url:'/tasks',
method:'POST',
params: {
task: { name: "Hello World" }
}
Rails 期望 params 哈希看起来像这样:
Parameters: { "task"=>{"name"=>"Hello World"} }
但是来自 Sencha 的 Ajax POST 是这样发送的:
Parameters: {"task"=>"[object Object]"}
当我尝试使用 defaultHeaders 时,例如:
Ext.Ajax.defaultHeaders = {
'Content-Type': 'application/json'
}
它的帖子是这样的:
Parameters: {"_json"=>"task=%5Bobject%20Object%5D"}
关于如何正确处理这个问题的任何想法?