2

成功せずに約 1 時間試行した後... ( coldfusion8) ダミーの質問ですが、私は行き詰まっています:

私のURL(Jquery Mobile、プッシュステートなし、そのように見える理由です):

 http://www.page.de/test/mem/search.cfm#/test/mem/search.cfm?id=9900000003869

私が出力した場合:

<cfdump output="e:\website\dump.txt" label="catch" var="#url#">

私はこれを得る:

catch - struct

ID: 9900000003869

しかし、どうすればアクセスできますか...私は永遠に試していますが、何も機能しません:

<cfdump output="e:\website\dump.txt" label="catch" var="#id#">
<cfdump output="e:\website\dump.txt" label="catch" var="#ID#">
<cfdump output="e:\website\dump.txt" label="catch" var="#url.id#">
<cfdump output="e:\website\dump.txt" label="catch" var="#url.ID#">
<cfdump output="e:\website\dump.txt" label="catch" var="#StructGetValue(url,"id")d#">
...

助けてくれてありがとう!

4

3 に答える 3

0

わかりました...これは機能します:

  URL = http://www.page.de/test/mem/search.cfm#/test/mem/search.cfm?id=9900000003869

  <cfset objRequest = GetPageContext().GetRequest() />
  <cfset strUrl = right( objRequest.GetRequestUrl().Append( "?" & objRequest.GetQueryString() ).ToString(), 13)>

クレジット

誰かが簡単に見つけたら、投稿してください。回答として確認します。

于 2012-10-09T10:29:01.653 に答える
0

フラグメント識別子についていくつかの調査を行っています (これは私にとって新しい用語です:( )ピーターとダンカンのコメントに促されて、ウィキから見つけました: http://en.wikipedia.org/wiki/Fragment_identifier

フラグメント識別子は、残りの URI とは異なる機能を果たします。つまり、その処理は、サーバーからの参加なしにクライアント側のみで行われます。もちろん、サーバーは通常、MIME タイプを決定するのに役立ち、MIME タイプはフラグメントの処理を決定します。エージェント (Web ブラウザーなど) が Web サーバーからリソースを要求すると、エージェントは URI をサーバーに送信しますが、フラグメントは送信しません。代わりに、エージェントはサーバーがリソースを送信するのを待ってから、ドキュメント タイプとフラグメント値に従ってリソースを処理します。

現在、クライアントはフラグメントを送信しており、何らかの理由で url 変数にアクセスできます。これを使用するには、私の元の投稿に従ってください。

<cfoutput> 

一般に、変数またはその他の評価を画面に出力する方法です。

<cfset myName = "Travis">
<cfoutput>Hello, my name is #myName#</cfoutput>

どこにも出力しないステートメントで使用して、変数にアクセスすることもできます。

<cfset myFullName = myName & " Mak">

クエリで変数を使用することもできます

<cfquery name = "qSomeQuery" datasource = "#application.dsn#">
  select * from table where id = #url.id#
</cfquery>

ただし、これはクエリでの使用方法としては不適切です。常に cfquery param を使用する必要があります。

<cfquery name = "qSomeQuery" datasource = "#application.dsn#">
  select * from table where id = <cfqueryparam cfsqltype="cf_sql_integer" value="#url.id#">
</cfquery>

変数のテストで発生している問題は、構文が正しくないことが原因です。

<cfif isDefined("url.id")><cfif isDefined(url.id)>より正確なテストは<cfif structKeyExists(url, "id")>

何らかの理由で、私の CF サーバーは # の後の URL のすべてを切り捨てますが、あなたのものにはこの問題はないようです。あなたの cfdump が述べているように、あなたの url 変数を見ることができるので、url 変数への「アクセス」はそれを使うのと同じくらい簡単です: #url.id#またはそれをテストする<cfif isDefined("url.id")>

于 2012-10-09T10:19:26.677 に答える
-1

これをtxtファイルから読み取ろうとしていますか?

単純に使用できませんか:

<cfdump label="catch" var="#url.id#" />

それは動作しますか?

編集:

最初に必要なものをキャプチャしてフォーマットしてから、ファイルに書き込んでみてください。

たとえば、次を使用してみてください。

<cfsavecontent variable="myFileContents">
<cfoutput>#url.id#</cfoutput>
</cfsavecontent>

<cffile action="Write" file="e:\website\dump.txt" output="#myFileContents#" />

このコードはまだテストしていませんが、試してみてください。

を使用して、そのURL変数もチェックしたい場合があります。isDefined()

幸運を。

于 2012-10-09T10:05:00.080 に答える