【问题标题】:how to store html.response in a variable?如何将 html.response 存储在变量中?
【发布时间】:2014-06-04 09:55:57
【问题描述】:

我正在使用该功能

 geoip2.cityISPOrg(function (response) {
 $("#country").html(response.country.names.en);
 $("#city").html(response.city.names.en);
 $("#isp").html(response.traits.isp);
 }, null, { w3cGeolocationDisabled: true });

我想将城市值存储在变量中并稍后提醒响应

实际上该函数存储在一个外部的.js文件中,该文件是从html文件中调用的,并且在html文件中提供了geoip的源代码

【问题讨论】:

  • 您是否尝试将城市值存储在外部范围的变量中?

标签: javascript geoip


【解决方案1】:
foo = response

请注意,foo 在异步函数被解析之前将保持未定义。

您可能应该声明foo(在对cityISPOrg 的调用之外使用var foo)。

【讨论】:

  • @user3706009 — 这是您传递给cityISPOrg 的匿名函数的第一个参数。如果它未定义,那么您要么忽略此答案的中间部分(开始“注意”),要么其余代码都没有工作。
  • 我们正在发送响应参数以将信息传递给函数,但我需要输出
  • 当你传递的函数被cityISPOrg调用时,你会得到输出
【解决方案2】:

您可以设置一个全局变量,这可以通过多种方式完成,但一种简单的方法是将var 离开声明。例如:

city = response.city.names.en;

或者,您实际上可以在将 #city html 元素中的值放在那里之后,直接获取它。这种方式很有用,因为一旦它在 DOM 中,您就可以从任何 javascript 文件中获取它,而不必担心将值传递给...

city = $("#city").html();

【讨论】:

  • 我尝试了第二部分,但它不起作用。我认为我们需要在函数之外分配一个 var,如前所述
猜你喜欢
  • 1970-01-01
  • 2014-04-23
  • 1970-01-01
  • 1970-01-01
  • 2014-03-14
  • 2020-02-03
  • 2011-07-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多