【问题标题】:Any way to obtain a product id with javascript?有什么方法可以使用 javascript 获取产品 ID?
【发布时间】:2014-05-22 15:24:55
【问题描述】:

我正在开展一个 Rails 项目,该项目涉及用户将小部件嵌入到他们单独托管的网站上的产品页面上。假设小部件将采用脚本标签的形式。

小部件将打开另一个带有表单的窗口(托管在小部件原始网站上),并允许用户附加有关该产品的信息,然后将这些信息发布到托管在小部件来源网站上的数据库中。

所以产品页面上的产品 id 和小部件网站上的产品 id 会匹配。

我的问题是这样的。如何从小部件所在的页面获取产品 ID?我需要通过小部件传递带有产品 ID 的参数,以便在小部件原始数据库中更新正确的产品。

希望这是有道理的。解决这个问题的方法是什么?

【问题讨论】:

  • 如何在 html 中设置一个 data-id 字段并通过 javascript 访问它?
  • 是的,我认为要实现这一点,需要用户进行一些配置,例如通过标题中的配置变量发送产品 ID
  • 您是否将小部件提供给其他站点?您是否控制产品和 ID?如果是这样,它与附属模型的工作方式非常相似(cj、linkshare、amazon 等)。您始终可以在小部件中提供一个唯一的链接,该链接可以跟踪来源和产品(您在自己的身边解码链接),然后显示适当的表单以收集其他数据。

标签: javascript jquery ruby-on-rails widget e-commerce


【解决方案1】:

您始终可以使用 ERB 写入 javascript 源代码,就像使用 ERB 写入 HTML 源代码一样。因此,只需将@product.id 吐出到 javascript 代码的相关部分即可。例如:

<script type="text/javascript">
  var productId = <%= @product.id %>;
  // Do whatever you want with productId here
</script>

然后只需检查页面的源代码以确保您输出 / 作为调试。

【讨论】:

  • 这将在小部件应用程序上本地工作,但我如何允许用户在他们的页面上嵌入脚本,以便从他们的代码中提取 id?我需要能够在用户网站上生成包含我需要的参数(product_id)的小部件 url
  • 用户需要以某种方式将他们的产品 ID 提供给小部件脚本(只有他们的应用知道他们的产品 ID,对吗?)。如果产品 ID 没有更改,那么您可以让他们在脚本的配置部分对其进行硬编码。但如果它可以改变,那么他们将需要做类似上述的事情。更难的选择是让他们设置一个几乎类似于 API 的端点,您可以在加载小部件脚本时向他们的应用程序查询产品 ID……但配置方法对我来说听起来更容易。
  • 感谢 pdobb,这很有意义,希望可能有一些漂亮的方式来访问该数据,这样小部件就不需要用户进行太多配置,但看起来差不多一样好因为它会得到。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多