【问题标题】:How to pass marketing parameters on Redirect in Play Framework如何在 Play Framework 中的 Redirect 上传递营销参数
【发布时间】:2014-02-12 19:55:47
【问题描述】:

我有一个控制器,它根据一组规则将“从任何地方”解析为原点:

/from-anywhere/to-anywhere/next-3-months/quality/any-budget?testParam=test

def showFromAnywhere(类别:字符串,持续时间:字符串,目的地:字符串,日期范围:字符串,段:字符串,预算:字符串)

然后调用:

Redirect(routes.Frontoffice.showFromOrigin(category, duration, userOrigin, destination, dateRange, segment, budget))

但是,当 303 响应被发回时,它会去掉“testParam=test”。

例如。 /from-london/to-anywhere/next-3-months/quality/any-budget

这些参数不是在控制器中使用,而是在客户端页面上的 javascript 中使用,以跟踪营销参数(即您的典型营销参数:utm_source=kikolani&utm_medium=320banner&utm_campaign=bpp)。

有没有办法通过重定向这些参数?

【问题讨论】:

    标签: playframework playframework-2.0


    【解决方案1】:

    你可以把它变成一个字符串,将你想要的内容附加到那个字符串,然后使用那个字符串重定向:

    def catchall = Action { implicit req =>
      Redirect(routes.Application.index(regular, params).url + "&some=stuff")
    }
    

    【讨论】:

      【解决方案2】:

      您可以从 Request 对象中检索 rawQueryString。

      如果您想进行重定向并保留参数(例如 Google Analytics),这里是代码

      Redirect(routes.Application.index() + "?" + request.rawQueryString)
      

      【讨论】:

        猜你喜欢
        • 2013-05-11
        • 1970-01-01
        • 1970-01-01
        • 2015-10-27
        • 2015-01-13
        • 2018-02-20
        相关资源
        最近更新 更多