从sinatra应用程序发送post请求到rails应用程序
我需要从一个sinatra应用程序发送一个POST请求到一个rails应用程序,它将返回一些json。 我在本地测试这个function。 url如下:
Rails app : railsapp.mydomain.com/api/v1.json Sinatra app: sinatraapp.mydomain.com
在localhost上,url是:
Rails app: localhost:3000/api/v1.json Sinatra app:localhost 3001
在我本地运行的sinatra应用程序中,我有以下代码在本地发出POST请求
$("#submit").click(function(){ $.post("http://localhost:3000/api/v1.json", {email:"",password:""}, function(data) { //Do something with response } ); });
此外,请求标头中的Content-Type
应为"application/x-www-form-urlencoded"
。 我在Firefox中使用REST Client来测试请求并且它可以正常工作,但在上面的代码中根本没有提出请求。 我的代码中有什么错误?
谢谢
这是作为XSS攻击而停止的。 即使它们位于同一个域中,子域也不同,这就足够了。 有关更多信息,请参阅对子域的AJAX调用是否被视为跨站点脚本? 。
要纠正这个问题,你可以简单地让AJAX命中你的本地控制器,并使用ruby发出请求,这不受上述限制的限制。
您还可以设置此设置:
jQuery.support.cors = true;
这使您可以使用jQuery进行跨域调用。 它可能不是最佳解决方案,因为您使用以下请求标头添加漏洞:Access-Control-Allow-Origin。
- 如何配置Rails 3.2 + / 4以生成.js而不是.js.coffee默认情况下?
- Backbone.js应用程序可以逐步增强,并可以被搜索引擎抓取吗?
- Highcharts,Rails – 设置图形起点的方法?
- 从ruby访问Javascript变量
- 如何在highcharts中显示for循环的结果
- 使用基础和Turbolinks与Rails 4的麻烦
- 在Spree Store中添加Braintree Drop-in UI时,选择付款方式时出现问题
- 格式js的Rails代码不起作用
- 使用本机function扩充webapp – 使用Rails Web应用程序应用程序桥接PhoneGap的InAppBrowser