现在用 rails 写了一个博客网站,然后我 new 一篇博客的页面,并将这个页面保存到本地,然后在浏览器中打开这个本地的 html 文件,写一篇文章,点击提交,没反应??
本人菜鸟一个,这样的问题会不会很弱智?
域名不一样了吧... 把表单提交路径改成绝对路径试试看。
(我只是乱猜一下)
action 写的是相对路径
1 如果是 ajax 提交则不允许跨域 (请求没有发出去)。 2 不能带上 cookie,可能服务器要验证 csrf 参数;又或者验证 referer。不符合的请求直接被服务器或前端代理丢掉。打开浏览器开发者工具看看。
#1 楼 @blacktulip 保存到本地以后 actioin 自动就变成了绝对路径
csrf-token 不一样了吧
#5 楼 @miclle 但是奇怪的事情是有些项目保存到本地后依然可以 submit,有些不知所措了。。。其实我主要是想知道怎么才能用 http 协议在安卓手机上面发送给 rails 一个 POST 请求,提交数据,我想自己做一个开源项目,功能上类似于 parse.com 提供的服务,提供一个 sdk 和一个 gem
#6 楼 @assyer 那是因为那些项目不够安全,Rails 是有自带放跨站攻击的验证 CSRF
#7 楼 @huacnlee 为什么百度好像么有 csrf?我把百度首页保存到本地依然可以搜索
#8 楼 @assyer 百度和 Google 的搜索表单是 GET 请求,而且是必须这么实现。再者这个搜索不存在 CSRF 安全的要求
#9 楼 @huacnlee 唉妈,糊涂了。 想知道一般自己写 API 要怎么弄? 嗯,找到 Rails::API 这个项目了~
你可以使用 firebug 或者 chrome 的 develop tool 看看请求有没有发出去,然后决定如何解决