gpt4 book ai didi

javascript - 在 javascript 函数中设置 ruby​​ 实例变量

转载 作者:数据小太阳 更新时间:2023-10-29 08:15:53 27 4
gpt4 key购买 nike

我正在尝试将 ruby​​ 实例变量的值设置为纬度和经度值。如何在 javascript 函数中设置实例变量的值?

是这样的吗?

<script>
if (geoPosition.init()){ geoPosition.getCurrentPosition(geoSuccess, geoError); }

function geoSuccess(p) {
<% @lat_lng = p.coords.latidude + "," + p.coords.longitude %>
}

function geoError(){ alert("No Location: Won't be able to use Maps functionality"); }
</script>

有些东西告诉我我需要 json。

最佳答案

您不了解代码运行的位置和时间。

Ruby(on Rails 或其他)在服务器上运行。它创建 HTML+JS+通过 Internet 发送给客户端的任何内容。

客户端(网络浏览器)接收此代码并执行 JavaScript 代码等。

因此,您不能将 Ruby 变量设置为运行 JavaScript 代码的结果……而无需再次联系网络服务器。

您需要使用 AJAX(或其他一些次要技术)在调用该函数时将请求发送回 Web 服务器。

例如(使用 jQueryjQuery.post ):

function geoSuccess(p){
$.post('/newcoords',{lat:p.coords.latitude, long:p.coords.longitude});
}

在某个地方的某个 Controller 中:

def newcoords
@lat_lng = [params[:lat],params[:long]].join(",")
end

关于javascript - 在 javascript 函数中设置 ruby​​ 实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15607143/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com