我想创建一个简单的书签,将一些信息从javascript传递到我的Code Ignitor应用程序。
这需要使用GET,但是在CodeIgnitor中禁用GET并将其打开需要重新编写一些视图和后端代码。
我想将4个选项(有些是可选的)传递给我的控制器上的方法。因为有些是可选的,所以做起来有点棘手
/controller/method/p1/p2/p3
但是如果p2是可选的,它会把它抛出一点。
理想情况下我认为我可以做到
/controller/method/p1
其中p1是json数组。
然而,由于这是一个书签,因此只能使用基本和标准的javascript函数。
如果我可以做的话
/controller/method?p1=foo&p2=bar
会让生活更轻松。
有什么建议吗?
答案 0 :(得分:0)
为那些可选的变量设置默认值有什么问题,然后使用if结构查找默认值并忽略它们?
更清楚一点,相关的控制器类函数将GET参数作为CI中的参数,因此您可以简单地设置默认值。然后检查是否有默认值并忽略这些变量......
答案 1 :(得分:0)
1。)您不仅限于书签中的“仅基本和标准javascript函数”。您可以使用页面中已包含的任何库,也可以使用书签首先添加库,然后使用它。要将库添加到带有书签的页面,只需附加脚本标记并使用onload属性在库加载后执行所需的代码。
这是一个bookmarklet生成器,可以让你在任何书签中使用jQuery:http://benalman.com/code/test/jquery-run-code-bookmarklet/ - 你可以在那里关注链接了解详情。因为它意味着为几乎任何类型的页面创建bookmarklet,所以生成器创建的代码比您实际需要的代码更复杂。
2.。)为什么不做这样的事情:/controller/method/p1=foo&p3=bar
然后很容易自己解析字符串。 (请注意,这不是get。没有“?”。)
或类似/controller/method/p1=foo/p3=bar
或/controller/method/p1-foo/p3-bar
。
3.。)您可以使用服务器端代码会忽略的默认占位符,例如/controller/method/P1/null/P3
或/controller/method/P1/-/P3
。