jquery - 使用 JQuery 进行 RoR PUT

标签 jquery ruby-on-rails ajax post put

我有一个 Rails 服务器,我正在尝试使用 $.ajax 函数进行 PUT。服务器给出 POST 200 OK,但数据库数据未更新。

$.ajax({type: 'POST',
        url: this.SERVER_IP+ "/user_coordinates/" + this.FRIEND_ID,
        dataType: 'json',
        async: false,
        data: {_method:'PUT',
               page: {"user_coordinate":
                        {"meetinglat":this.meetingPoint.getPosition().lat(),
                         "meetinglong":this.meetingPoint.getPosition().lng()}
                     }
              },
        success: function(msg){
                   console.log("Sucess! Object: ");
                   console.log(msg);
                 },
        error: function(msg){
                 console.log("Error! Object: ");
                 console.log(msg);
               }
        });

正在调用错误函数。这里可能出现什么问题?

感谢您的宝贵时间;)

最佳答案

我已经发现问题了。在我的 Controller 中使用 logger.debug 我注意到它需要 params[:user_coordinate] 并且在我的 ajax 调用中我传递了类似的内容:

data: {_method:'PUT',
               page: {"user_coordinate":
                        {"meetinglat":this.meetingPoint.getPosition().lat(),
                         "meetinglong":this.meetingPoint.getPosition().lng()}
                     }
              }

而不是:

data: {_method:'PUT',
               user_coordinate: {"meetinglat":this.meetingPoint.getPosition().lat(),
                         "meetinglong":this.meetingPoint.getPosition().lng()}
      },

现在它可以工作了! ;)

logger.debug“参数#{params[:user_coordinate]}”

关于jquery - 使用 JQuery 进行 RoR PUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10800582/

相关文章:

c# - JQuery MVC 集合名称属性

ruby-on-rails - activerecord 中的类别和产品映射

ruby-on-rails - 客户端取消订阅 channel

php - 自动完成 SQL 查询建议 (Ajax+PHP)

Jquery Ajax 刷新在 IE 中不起作用

jquery淡出向左滑动

javascript - parsley.js 不适用于 ckeditor textarea

ruby-on-rails - 是否值得尝试尽可能多地重用测试夹具?

javascript - 使 AJAX "get"功能同步/如何获得结果?

javascript - 随窗口移动 li/背景图像