首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >结构中的查询字符串

结构中的查询字符串
EN

Stack Overflow用户
提问于 2018-02-11 03:21:29
回答 1查看 1.2K关注 0票数 2

我正在使用taffy,并将一个未知的查询字符串传递给一个函数。我不知道预先传递的查询字符串值,所以我尝试在函数中使用它,但它不起作用。请给我指出正确的方向。

这是我的代码:

代码语言:javascript
复制
<cffunction name="qrystringToStruct" returntype="any">
    <cfargument name="myStruct" default="#structNew()#" type="struct">
    <cfargument name="str" required="true" default="">
    <cfscript>
        for(i=1; i LTE listLen(arguments.str,'&');i=i+1) {
        structInsert(myStruct, i, listGetAt(arguments.str,i,'&'));
        }
    </cfscript>
    <cfreturn myStruct>
</cffunction>

<cffunction name="getCourseById" taffy:verb="get" taffy:docs:hide>
  <cfargument name="structurl" type="any" default="" />
  <cfdump var="#structurl#">
 <cfdump var="#qrystringToStruct(structurl)#" abort> 
  <cfset var local = {} />

我就是这样叫网址的:

代码语言:javascript
复制
http://localhost:9002/taffy/index.cfm//coursesMethods?credits=3&coursetitle=power 

但我得到的只有[empty string]

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-11 05:13:43

我先说我从没用过太妃糖。然而,尽管如此,我认为这与你在贴出的问题中提到的问题无关。在你的代码中有一些东西让我很困惑。

  • 调用qrystringToStruct(structurl)传递一个参数,但函数定义有两个参数。
  • 为什么要将myStruct声明为参数,然后在qrystringToStruct函数定义中声明<cfreturn myStruct>?这没有任何意义。
  • 你说你把完整的网址传递给http://localhost:9002/taffy/index.cfm//coursesMethods?credits=3&coursetitle=power?为什么不直接使用cgi.QUERY_STRING传递querystring部分

无论如何,我认为这太复杂了,您不需要一个自定义函数来解析查询字符串。你只需要一行代码。

代码语言:javascript
复制
<cfset qryString = listToArray(cgi.QUERY_STRING, "&")>

您可以在这里测试它,这里

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48727961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档