我目前正在开发一个小型的rails应用程序,它允许我管理我的个人书签,这些东西与美味符合instapaper并且第一次,我面临跨域表单发布的限制,我'我不确定如何克服。
在浏览任何网站时,我可以按下将jQuery(1.5)和自定义HTML表单注入当前DOM的书签。在填写并提交之前注册的表格后,我会被重定向到我的rails网站,其中会显示成功的确认。
当我尝试通过用Ajax请求替换原始表单工作流来避免重定向时,我的问题就出现了。显然,浏览器正在实施相同的原始政策,限制我将任何数据发布到我的远程网站。
一些开发人员建议我代理请求或开始在iframe中呈现表单。关于代理解决方案,老实说,我对如何使用rails实现这一点没有任何线索。 iframe看起来可行,但我不确定从DOM中访问/工作/更新是多么容易。
提前致谢!
答案 0 :(得分:1)
使用iFrame方法,您可以使用javascript来获取parent.window(我相信)url。我不确定你有多少DOM访问权限。
你也可以尝试查看jQuery的AJAX方面:Ajax API - jQuery。这将允许您发布到脚本(我相当确定我在几年前使用它跨域)。有了这个,您可以让脚本将代码返回到页面上的表单,而不必重定向。
答案 1 :(得分:1)
不要让iframe工作吓到你。通过以下方式从父母访问很容易:
或
或使用jQuery: