POST请求到达服务器但是为空

时间:2010-10-07 13:42:19

标签: jquery ruby-on-rails ajax api

我正在为一个简单的Web服务设置一个API,偶然发现了一个问题。我使用Ruby on Rails作为后端,使用JQuery ajax调用发送POST来创建模型的实例。 JavaScript代码是:

$.ajax({
   type: "POST",
   url: "http://localhost:3000/api/v1/person/add",
   data: "name=John&location=Boston",
 success: function(msg){
    alert( "Data Saved: " + msg );
}
});

当我执行此操作到服务器时,我得到一个请求类型OPTION,我认为这是完成POST请求所需的两个调用(?)因为这些站点不在同一个域上(因为调用是它将被远程制造)它失败了。然而,主要问题是请求本身根本不包含任何数据。我的猜测是,第一次调用不是发送任何数据,而是等待某种“OK”才能发送数据?如果没有,为什么它是空的?我不想使用GET请求,因为它在RESTful API的指南中说它应该使用POST来实现此目的,而且我可能希望发送比GET可以处理的更多数据。因此,如果我的假设是正确的,并且这个POST请求因跨域调用而失败,那么我的选择是什么?

1 个答案:

答案 0 :(得分:2)

编辑:现在我看到你正在尝试进行跨域Ajax查询......这是一个非首发。有关其他信息,请参阅此处(仅搜索跨域并选择一个):AJAX cross domain call