Rails4 - 如何通过Ajax安全地接收和发送JSON数据并存储它?

时间:2014-11-07 18:12:03

标签: javascript ruby-on-rails ajax json ruby-on-rails-4

我有一个页面(如https://www.helloabc.com/han.html),它被加载到不同域的应用程序的iframe中。我添加了以下内容以启用在iframe中加载页面以删除错误("拒绝显示文档,因为X-Frame-Options&#34禁止显示;)。

config.action_dispatch.default_headers['X-Frame-Options'] = "ALLOW-FROM https://xyz.com"

iframe页面通过ajax json将数据发送到另一个页面,如下所示。

 $.ajax({
      url: 'https://www.helloabc.com/hello',
      type: 'POST',
      dataType: 'json',
      data: {
        "url"  : hjurl,
        "data"   : senddatavar
      },
      success: function(a){
          console.log("success");
          console.log(a.message);
      },
      error: function(request, status, error) {
      console.log("error");
      }
    });   

我的iframe页面收到200 ok。

heroku[router]: at=info method=POST path="/hello" host=www.helloabc.com request_id=ac3ed869-75cc-484f-94ea-65ea2fccbb9e fwd="117.203.154.1" dyno=web.1 connect=3ms service=26ms status=200 bytes=900
app[web.1]: Started POST "/hello" for 117.203.154.1 at 2014-11-07 16:45:29 +0000
app[web.1]: Processing by HomePageController#hellojson as JSON
app[web.1]:   Parameters: {"url"=>"https://abc.yupp.com/hs/_/krki5gea", "data"=>{"0"=>{"id"=>"937bacaeb0f928", "person"=>{"id"=>"1984762436", "dName"=>"zzzzz", "image"=>{"url"=>"https://sbc/photo.jpg"}}, }}}
app[web.1]: Completed 200 OK in 2ms (Views: 0.4ms | ActiveRecord: 0.0ms)

我是铁杆新手。我不知道如何获取这些数据并存储它。而且我不知道如何以正确的方式做到这一点 任何人都可以分享通过ajax安全地发送数据并存储它的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

我在以下控制器中使用了params来获取数据并将其保存在表

  def hellojson

  m = Haout.new      

  m.url = params["url"]
  m.image = params["data"]["0"]["person"]["image"]["url"]

然后我使用条件并根据条件我做了m.save和m.update_attributes

如果使用https则安全