POST请求到达服务器,但空

问题描述:

我设置了一个简单的web服务的API,并偶然发现问题。我使用Ruby on Rails作为后端,并使用JQuery ajax调用来发送POST来创建模型的实例。 JavaScript代码是:POST请求到达服务器,但空

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

当我执行这个服务器我得到选项的请求类型,我认为这是完成一个POST请求,因为这些网站所需的两个第一次调用(?)不在同一个域上(因为调用将会被远程执行),它就会失败。然而,主要问题是请求本身在主体中根本不包含任何数据。我的猜测是,这第一次调用不发送任何数据,但等待某种'OK'能够发送数据?如果不是,为什么它是空的?我不想使用GET请求,因为它在RESTful API的准则中说它应该使用POST来达到此目的,另外我可能想发送比GET更多的数据。所以如果我的假设是正确的,并且这个POST请求由于跨域调用而失败,我的选择是什么?

编辑:现在我看到你正在尝试跨域Ajax查询...这是一个非起动器。在这里看到更多的信息(刚刚搜索跨域和选择一个):AJAX cross domain call

+0

什么已经有效,以及...你已经序列化成相同的字符串。 – 2010-10-07 13:50:40

+0

@尼克啊,很高兴知道,谢谢..编辑我的问题。 – Fosco 2010-10-07 13:54:22

+0

这只适用于POST请求吗? – miccet 2010-10-07 14:01:51