2017-08-09 47 views
-1

在我的網站上,我需要從web服務器讀取文件內容(由php生成),並將內容分配給html標籤。用ajax同步方法讀取web服務器上的文件內容可能會凍結頁面

默認情況下,ajax讀取的文件是aync,在將文件內容成功讀取之前,已將用於將值賦給html標記的代碼已經通過。

要解決這個問題,請使用ajax async methoed。

$就({ URL: 'file_relative_path', 異步:假, 成功:功能(數據){的console.log( '從文件內容描述:' +數據); DESC =數據; } });

在將文件內容分配給變量之前等待讀取文件成功解決問題,但可能會導致其他問題,因爲代碼必須等待讀取文件完成。

有什麼建議嗎?

+0

很好的同步調用鎖定頁面....這就是發生了什麼。這就是爲什麼人們說不要使用它們。所以你需要使用承諾或回調... – epascarello

+0

不確定是什麼問題? – guest271314

+0

他指的是「async:false」 – yoursweater

回答

0

我在谷歌地圖上放置了50個代表50個景點的標記,每個製作者都附帶了一個inforwindow,inforwindow由html標記填充,其中包含一個視覺描述和一系列鏈接到外部網站圖像的url。這些網址是景點文件夾中的文件名。這些圖像屬於該網站。我將每個圖像的描述放在通訊文件中,而javascript需要將文件讀入字符串,並將該字符串分配給可以爲每個圖像顯示的圖像標題。我需要使用異步方法來等待文件讀入字符串並分配給html標記。這將持續整個過程,甚至在頁面上顯示谷歌地圖。我做了一些修改,並在初始化函數的旁邊添加了標記,這些標記允許首先加載谷歌地圖,然後將標記逐一添加到頁面中,這使得頁面更具響應性。但讀取文件與asyc字符串仍然持有的過程中,我可能會考慮讓PHP讀取文件串並傳遞給javescript,這可能會使事情更smoth。

相關問題