[英]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.