jQuery发送参数到Rails应用程序以保存在数据库中
问题描述:
我想保存通过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在控制器中触发动作,并在数据库中创建记录。
但它没有。什么是问题,我该如何解决它?
答
传递数据在您的网址
http://localhost:3000/viewcounter_controller/count?param_1=param1¶m_2=param2
然后在控制器索要PARAMS
答
就试试这个:
$(function(){
var webURL = window.location.href;
$.ajax({
url: 'http://localhost:3000/viewcounter/count?fullURL=' + webURL,
type: "GET"
})
});
+0
尝试过,但没有奏效。 – Suda
它不是100%清楚你所想实现。然而,从你的代码的外观来看,我认为你的意思是“POST”请求? –