繁体   English   中英

从sinatra应用程序发送帖子请求到rails应用程序

[英]Making a post request from a sinatra app to a rails app

我需要从sinatra应用程序发送一个POST请求到一个rails应用程序,它将返回一些json。 我在本地测试这个功能。 网址如下:

Rails app : railsapp.mydomain.com/api/v1.json
Sinatra app: sinatraapp.mydomain.com

在localhost上,网址是:

Rails app: localhost:3000/api/v1.json
Sinatra app:localhost 3001

在我本地运行的sinatra应用程序中,我有以下代码在本地发出POST请求

$("#submit").click(function(){
   $.post("http://localhost:3000/api/v1.json",
     {email:"<email_here>",password:"<password_here>"},
     function(data) {
         //Do something with response
     }
   );

});

此外,请求标头中的Content-Type应为"application/x-www-form-urlencoded" 我在Firefox中使用REST Client来测试请求并且它可以工作,但是在上面的代码中根本没有提出请求。 我的代码中有什么错误?

谢谢

您还可以设置此设置:

jQuery.support.cors = true;

这使您可以使用jQuery进行跨域调用。 它可能不是最佳解决方案,因为您使用以下请求标头添加漏洞:Access-Control-Allow-Origin。

这是作为XSS攻击而停止的。 即使它们位于同一个域中,子域也是不同的,这就足够了。 有关更多信息,请参阅对子域的AJAX调用是否被视为跨站点脚本?

要纠正这个问题,你可以简单地让AJAX命中你的本地控制器,并使用ruby发出请求,这不受上述限制的限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM