2015-12-21 64 views
0

我想保存通过jQuery标记发送的参数,这些参数被放置在不同的站点中作为mysql中的记录与Rails。我写到目前为止我的jQuery标签如下。jQuery发送参数到Rails应用程序以保存在数据库中

<script src="//code.jquery.com/jquery-1.11.3.min.js"></script> 
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script> 
<script src="jquery.xdomainajax.js"></script> 
<script> 
$(function(){ 
var webURL = {fullUrl: window.location.href 
    };//for getting complete url,or window.location.origin for domain alone. 
    $.ajax({ 
    url: 'http://localhost:3000/viewcounter/count', // count_action in viewcounter_controller 
    type: "GET", 
    data: webURL 
    }) 
    }); 
    </script> 

对于导轨部分,控制器被称为viewcounter是这样的。

def count 
url = params[:fullURL] 
Viewcounter.create(site_url: url) 
end 

也,我在配置写这篇照顾跨域的/ application.rb中

class Application < Rails::Application 
config.active_record.raise_in_transactional_callbacks = true 
config.action_dispatch.default_headers.merge!({ 
'Access-Control-Allow-Origin' => '*', 
'Access-Control-Request-Method' => '*' 
}) 
end 

然后创建一个HTML文件,上面的jQuery写入其中,并在浏览器中打开它。

我期待jQuery在控制器中触发动作,并在数据库中创建记录。

但它没有。什么是问题,我该如何解决它?

+0

它不是100%清楚你所想实现。然而,从你的代码的外观来看,我认为你的意思是“POST”请求? –

回答

0

传递数据在您的网址

http://localhost:3000/viewcounter_controller/count?param_1=param1&param_2=param2 

然后在控制器索要PARAMS

0

就试试这个:

$(function(){ 
    var webURL = window.location.href; 

    $.ajax({ 
    url: 'http://localhost:3000/viewcounter/count?fullURL=' + webURL, 
    type: "GET" 
    }) 
}); 
+0

尝试过,但没有奏效。 – Suda

相关问题