2014-07-23 37 views
0

我們正在使用DPS的PXPay爲我們的應用程序生成付款。角正在更改查詢字符串參數

在一個成功的交易提供的URL看起來像

http://ourapp.com/checkout/complete?result=v5eX-DlMlfGe2FUcPeZgCFiKhZwgmCVhlTfL-rtnPszpe8S_6MYJMbVPDK14h7KxQM6xfKYUnXhz_RcSOHqw4VwHX97GU9XINHwh9DFt6aDHOLMvdAnSwZost5H2aOQlZgMESDzlwNGx_lfgeLba2Us41x437J3PWTJ_LLJVK4OY_7K4c6rxQ88Mve7FfoYd7P8CAZWxyHbC-wxCyLiocw4_NQ_34ct-IAsR1MM3C2OkPijfBAk-l72rOOMWGp8EoLpdOHyT0uITvsdjMvOFIHIMnSdVs2JFCslAmTRMDl4jkb5ezBf9wKZuo91KgII0kd9dFJMFCm7evt-X0ykLw_vjcgg85kZoRbDvi89nEGiWmFLVKM_xVgZYufeMMudOGRcHgi4i-RZJ4mml2JMzN2OtJKyQdpxuC-3b9KfnRbyy_F75Gak5fwJIf4tvo6VNJKUJuBtKYKafPyH_YJU4HQMeHP8uO0-FhMN3mzRCmGjvExuqx1BhA67R35pmaTbyxz-06JEvIqzf8FTftoBowLSeu37KtNmagZ8cJpMlCe4kUaFY4v6ZTx7h9rYx37oYtZNsSR1t3KDFzQYRs5LAg8RQ==&userid=OurDevId

這肯定是進入了瀏覽器的請求。但什麼是顯示在瀏覽器地址欄......,什麼角度,爲「結果」令牌讀取這是... ...

http://ourapp.com/checkout/complete?result=v5eX-DlMlfGe2FUcPeZgCFiKhZwgmCVhlTfL-rtnPszpe8S_6MYJMbVPDK14h7KxQM6xfKYUnXhz_RcSOHqw4VwHX97GU9XINHwh9DFt6aDHOLMvdAnSwZost5H2aOQlZgMESDzlwNGx_lfgeLba2Us41x437J3PWTJ_LLJVK4OY_7K4c6rxQ88Mve7FfoYd7P8CAZWxyHbC-wxCyLiocw4_NQ_34ct-IAsR1MM3C2OkPijfBAk-l72rOOMWGp8EoLpdOHyT0uITvsdjMvOFIHIMnSdVs2JFCslAmTRMDl4jkb5ezBf9wKZuo91KgII0kd9dFJMFCm7evt-X0ykLw_vjcgg85kZoRbDvi89nEGiWmFLVKM_xVgZYufeMMudOGRcHgi4i-RZJ4mml2JMzN2OtJKyQdpxuC-3b9KfnRbyy_F75Gak5fwJIf4tvo6VNJKUJuBtKYKafPyH_YJU4HQMeHP8uO0-FhMN3mzRCmGjvExuqx1BhA67R35pmaTbyxz-06JEvIqzf8FTftoBowLSeu37KtNmagZ8cJpMlCe4kUaFY4v6ZTx7h9rYx37oYtZNsSR1t3KDFzQYRs5LAg8RQ&userid=OurDevId

如果你仔細看......兩個「==」是從「結果」標記字符串的末尾取下。

我已經在非角度應用程序中測試過,並沒有發生。爲什麼角度做到這一點,我如何防止它?

+1

可能是$ sce'https:// docs.angularjs.org/api/ng/service/$ sce' – dman

+0

也可能會失去一些手動設置的$ location屬性。我之前使用過一個服務來保存實際的字符串,然後將$ location.path和$ location.url設置爲等於它。 – irth

+0

問題在於「==」在獲得$ location服務之前正在被脫離url。它必須是幕後進行的某種消毒。試圖找出我在角度到達之前如何閱讀請求 – markstewie

回答

0

Angular無法處理==,因爲它的$locationsearch解析。只需訪問:https://angularjs.org/?foo==123和url將更改爲https://angularjs.org/?foo=

在無角頁面上也不會發生這種情況。解決方案

:後?result=

+0

非常感謝您的回答。我現在已經猜到了這種情況。你能否指出我將如何在結果後對HTML部分進行編碼? – markstewie

0

根據你試圖用返回的URL做什麼要麼補丁角或HTML編碼的部分,它可能是簡單的只是設置window.location,而不是直接通過角工作的。這繞過了剝離double等於的$location中的查詢字符串解析。

+0

我最終做的是在角度啓動之前將標記存儲在查詢字符串中作爲'document.resultToken'。然後我可以在角度控制器中訪問它。感覺很髒,但它的工作 – markstewie

+0

工作比破碎好。當你準備好清理它時,請在AirPair上給我打氣。 –