【发布时间】:2012-11-22 10:14:17
【问题描述】:
我正在尝试通过 $.ajax 向 Rails 3 后端发送 AJAX 请求,但我遇到了一个奇怪的行为。以如下请求为例:
$.ajax({
url: $(this).attr('href'),
type: 'PUT',
dataType: "json",
data: {a: null},
success: function (data) {
console.log("success!")
}
});
我绑定到一个点击事件。简单的。发生的事情是 Rack 将 URI 编码的表单参数解析为{"a" => "null"},而我真的很想被解析为{"a" => nil}。是否有任何非骇客的方式来实现这种行为?
非常感谢!
附:如果我通过 {a: undefined} 则 params 哈希根本没有 a 键。
【问题讨论】:
-
也许你可以设置
data: {a: ''} -
不,这通过了
{"a"=>""} -
当
{"a"=>""}被传递时,Rails 中的params中是不是变成了nil,或者key 完全丢失了?
标签: jquery ruby-on-rails ajax ruby-on-rails-3