2014-06-11 62 views
-1

我已經爲圖片編寫了一個顯示引擎(在代碼中稱爲mpv.html)。它有兩種模式。模式1顯示單個圖像(與縮略圖鏈接),模式2翻轉圖像名稱陣列,如幻燈片顯示,由表單提交觸發。在HTML環境中傳遞參數

所有參數都在URL中傳遞。在模式1中,調用mpv的鏈接傳遞圖像文件名和所需的附加數據,但在模式2中,大部分數據被壓縮,只有圖像文件名被傳遞(作爲字符串通過HTML表單機制)。

在開發中(其中mpv.html與提供圖像的HTML頁面在同一文件夾中),兩種模式都可以正常工作。但在服務器上,雖然模式1完美工作,但模式2(顯示引擎位於同一服務器上的自己位置)只能看到「[display engine]?inp1 =」,其中inp1的值應該是一串圖像文件名稱。一個只傳遞簡單字符的測試也沒有顯示出來,所以我不得不相信在服務器環境中,顯示引擎沒有看到在提交之前注入到表單中的strTest的值。

這是一個CORS問題嗎?無論如何,有沒有人看到傳遞文件名數組的更成功的方式?

. 
. 
. 
<td><a href="../../mpv/mpv.html?pic=../WebTopics/dk1968_211.jpg&color=#4D4d4d&backcolor=..." target="_blank"><img src="images/dk1968_211_t.jpg"></a></td> 
. 
. 
. 
<form action="../../mpv/mpv.html" method="get" target="_blank"> 
<input type="hidden" id="input1" name="inp1"> 
<input type="submit" value="Play as slide show..."> 
</form> 
. 
. 
. 
<script> 
... 
    arImages.push("../WebTopics/DavidsKids/images/dk1968_216.jpg"); 
... 
var strTest = JSON.stringify(arImages); 
$("#input1").val(strTest); 
... 
</script> 
+0

您需要對URL中的#號字符進行URL編碼。他們應該是'%23' – Barmar

回答

0

您需要對href URL中的#字符進行URL編碼。否則,它被視爲分隔符,並且它後面的所有內容都是URL的哈希值。

<a href="../../mpv/mpv.html?pic=../WebTopics/dk1968_211.jpg&color=%234D4d4d&backcolor=..." target="_blank"> 
+0

也許你誤解了我的問題。您參考的鏈接在兩種模式下都能很好地工作。這是通過jQuery發送的數據沒有到達URL,但只有在服務器上。順便說一下,我已經瞭解到,如果我想要讀取值,我必須將%23更改爲#。 –

+0

您如何閱讀表單中傳遞的值? – Barmar

0

我的錯。根本沒有問題。我的開發環境包含jQuery的副本,而服務器環境則沒有。

全部固定。