簡體   English   中英

角度http.get / post與URL傳遞數據

[英]Angular http.get/post with URL in data being passed

我有以下http.get請求...

$http.get("api/checkSave/"+ JSON.stringify($scope.programDetails)).then(function(data) {
....
});

在我的programDetails對象中,至少有一個字段可以包含URL。 我認為stringify可以正確編碼對象,因此可以正確地傳遞給我的PHP函數。 不過似乎發生的是該URL發送不正確。 我收到一個錯誤,指出服務器響應404 not found錯誤。 我手動嘗試刪除請求中的URL(將其復制到瀏覽器並為URL字段發送了空字符串),並且請求已正確處理-這就是為什么我認為stringify無法滿足我的需要的原因。

我還需要稍后通過http.post發送此數據,以將數據保存在對象中。 希望我在發帖中所做的任何事情也將適用。

字符串化應該正確傳遞數據還是我需要對編碼進行不同的編碼? 我在其他應用程序中一直使用stringify,但是不必在數據中傳遞URL。

如果需要以其他方式進行操作,則需要知道在PHP方面要做什么才能對其進行解碼以進行處理。 我為get / post找到的所有示例似乎都傳遞了單個變量,而不是對象,並且其中一個變量中沒有URL。 我已經看到提到了encodeURIComponent,但是不確定是否需要使用它,如果可以,那么在PHP端使用什么對其進行正確解碼。

這實際上與包含URL的數據沒有太大關系(只是URL比其他數據更有可能在URL中包含具有特殊含義的字符)。

問題是您將數據放入URL中,而URL不是JSON文本。

要對字符串進行編碼以將其放入URL中,請使用encodeURIComponent

因此,最終我不得不在包含鏈接的字段中替換“ /”,然后它才起作用。 否則,'/'看起來好像我在get調用中傳遞了其他參數。 謝謝您的幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM