使用 PUT 动词调用 $.ajax 的奇怪行为
Strange behavior in calling $.ajax with PUT verb
我这样称呼$.ajax:
$.ajax({
type: 'PUT',
url: model.url(),
data: {task: {assigned_to: selected()}},
contentType: 'application/json'
})
selected()
返回一个数组
它task%5Bassigned_to%5D%5B%5D=524eda6b421aa91f4e000003&task%5Bassigned_to%5D%5B%5D=524ee37c421aa91ca9000008
发送带有此有效负载的请求,这是错误的!必须发送json,但它不是json,我的rails服务器无法处理(Rails MultiJSON)。
我在chrome和Firefox上进行了测试(都在最新的稳定版本上)。
任何帮助真的非常感谢。
编辑
如果我首先JSON.stringify
数据,它可以正常工作,但这根本不是一个好的解决方案,而且$.ajax
在其他方法中也有效!
尝试使用一些双引号:
data: {"task": {"assigned_to": selected()}}
或者在外部定义数据并像这样分配它:
var dataMap = {"task": {"assigned_to": selected()}};
然后:
$.ajax({
type: 'PUT',
url: model.url(),
data: dataMap,
contentType: 'application/json'
})
相关文章:
- 将对Ajax PUT的json响应重定向到要由EL解析的JSP中
- Ruby on rails-更新ajax的PUT方法
- 使用get/put/delete方法从ajax请求调用laravel-controler
- 如何在页面卸载时发送AJAX PUT请求而不取消
- UIWebView 中 PUT 或 POST 类型的 ajax 不传递 HTTP 正文
- 使用 PUT 动词调用 $.ajax 的奇怪行为
- 如何在没有AJAX的情况下将数据提交到CouchDB(使用普通形式的PUT)
- AWS S3 ajax PUT 返回“我们计算的请求签名与您提供的签名不匹配”
- jQuery AJAX PUT有空的QUERY_STRING和REQUEST PHP变量
- Backbone.js保存模型don't在android 2.x上引起ajax PUT请求
- 在knockout中ajax put或post期间自动映射ajax数据
- 使用casperjs通过AJAX发送POST/PUT
- Rails 4 + jQuery: PUT ajax request
- AJAX api PUT request
- jQuery Ajax PUT not firing
- jQuery AJAX PUT请求数据提交不工作
- 更新数据库的Ajax PUT REST请求
- 让一个按钮使用jQuery发送AJAX put请求
- ASP.NET Web API-Ajax PUT-405方法不允许(实体框架)
- JQuery AJAX PUT, not working