- 錯誤型別:
- 其他錯誤
- 錯誤名稱:
- 无效JSON错误
- 英文名稱:
- The Invalid JSON Error
- 錯誤描述:
- 无法从服务器接收到预期的响应会导致WordPress发生 'Not a Valid JSON Response' 错误。
在WordPress網站上編輯文章或頁面時,你是否曾經遭遇過 ‘The response is not a valid JSON response’ 這樣的錯誤。
在本教程中,我們將詳細說明如何修復WordPress中的無效JSON錯誤。我們還將討論為什麼會發生此錯誤,以及將來如何避免該錯誤。
什麼導致WordPress出現 ‘Not a Valid JSON Response’ 錯誤?
無法從伺服器接收到預期的響應會導致WordPress發生 ‘Not a Valid JSON Response’ 錯誤。
基本上,WordPress在編輯部落格文章時需要與伺服器通訊。它依賴於在後臺從Web託管伺服器獲取響應。此響應通常採用JSON格式,該格式用於使用JavaScript快速傳輸資料。
如果由於某種原因,WordPress無法獲取響應,或者響應不是JSON格式,那麼您將看到 ‘Not a Valid JSON Response’ 錯誤,如下圖所示。
出現此錯誤的原因有很多。
- 網站 URL 設定不正確。不匹配的 WordPress 網站地址設定會破壞 JSON 響應。
- 外掛衝突。不相容或編碼不良的 WordPress 外掛可能會干擾 JSON 響應。
- 伺服器配置問題。伺服器端問題或資源不足可能導致此錯誤。
- SSL/ 混合內容問題。來自 HTTP 和 HTTPS 元素的混合內容會妨礙正常的 JSON 通訊。
- 固定連結結構問題。不正確的永久連結設定會影響 URL 的處理方式,從而導致 JSON 錯誤。
但是,最有可能的原因是WordPress中的網址設定不正確或固定連結失效。
下面讓我們一起看看應該如何修復WordPress所出現的無效JSON錯誤。
重要提示:在對網站進行更改前,請進行執行WordPress備份。以防出現問題,可快速將網站還原到以前的狀態。
排除JSON響應無效錯誤的方法
1. 檢查WordPress的連結設定
首先,您需要確保WordPress地址和站點地址設定正確。
轉到設定»常規頁面。即可檢視WordPress地址(URL)和站點地址(URL)欄位。
對於大多數網站,此設定的兩個欄位應該對應相同的URL。
但是,也有少部分站長給WordPress設定指定的目錄,並在其他地址上為網站提供服務。在這種情況下,兩個URL地址可能不同。
但是,如果站點地址不正確,這會導致WordPress觸發無效的JSON錯誤。
如果是因為WordPress地址和站點地址設定錯誤問題,修正並儲存更改後。再次編輯部落格文章,檢視是否新增任何新區塊或儲存該文章,看是否會觸發 ‘Not a Valid JSON Response’ 錯誤。
如果仍然看到錯誤,請往下看。
2. 修復WordPress固定連結結構
WordPress帶有SEO友好的URL結構,這樣對文章和頁面使用人類可讀的URL。
但是,有時使用者可能會弄亂固定連結設定。這可能導致WordPress編輯器無法獲得有效的JSON響應並導致顯示錯誤。
要解決此問題,您只需訪問設定»固定連結頁面。在這裡,您需要仔細檢視固定連結選項。
如果不確定是否使用正確的設定,則只需選擇可用的預設格式之一。
之後,繼續並單擊“儲存更改”以儲存您的設定。
然後嘗試編輯部落格文章或頁面,以檢視錯誤是否已消失。如果還沒有,那麼嘗試下一步。
3. 重新生成htaccess檔案
WordPress中的.htaccess檔案用作配置檔案,用於管理SEO友好的URL(固定連結)。
通常,WordPress可以自動重新生成和更新它。您還可以通過單擊“設定”»“固定連結”頁面底部的“儲存更改”按鈕來觸發該更新。
但是,有時它可能無法更新或設定不正確。這會影響您的WordPress固定連結,還可能導致無效的JSON響應錯誤。
要解決此問題,您需要使用FTP客戶端或WordPress託管帳戶資訊中心中的檔案管理器應用程式連線到您的網站。
連線後,您需要在網站的根資料夾中找到.htaccess檔案,並將其下載到本地計算機。
提示:無法找到.htaccess檔案?參考如何查詢.htaccess檔案這篇文章。
之後,您需要使用FTP客戶端或檔案管理器應用編輯.htaccess檔案。
開啟檔案後,替換為以下程式碼:
# BEGIN WordPress RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
儲存更改後並將檔案上傳回網站伺服器檔案原來的位置。
再次訪問您的網站並編輯和釋出頁面,以檢視是否可以重現無效的JSON響應錯誤。
如果仍然看到錯誤,則可以採取下面其他一些步驟。
4. 修復任何WordPress混合內容錯誤
當網站載入 HTTP 和 HTTPS 元素時會出現混合內容,這可能會導致安全和功能方面的問題。
在 WordPress 中,混合內容會破壞編輯器和伺服器之間的通訊,因為瀏覽器會阻止所謂安全頁面上的非安全請求。修復混合內容可確保安全載入所有元素,解決潛在的 JSON 錯誤。
指南如下:
- 安裝一個外掛,如 Really Simple SSL 或 Better Search Replace。這些外掛可以檢測資料庫中的混合內容警告,並將 HTTP URL 轉換為 HTTPS。
- 檢查主題檔案、小工具、圖片和其他內容區域是否有硬編碼的 HTTP 連結,並手動將其更新為 HTTPS。
- 使用快取外掛清除 WordPress 快取,確保正確應用新設定。
5. 檢視Rest API除錯日誌
無效的JSON響應錯誤也可能意味著WordPress的REST API遇到錯誤。REST API是當您在網站上工作時WordPress用於與伺服器通訊的一組技術。
您可以在WordPress網站執行狀況工具中檢視此錯誤的詳細資訊。訪問工具»站點健康頁面。
在此處,您可能會看到一個標記為 ‘The REST API encountered an unexpected result’ 的問題。單擊問題將會顯示更多詳細資訊,這可能會給您一些提示,指出哪些外掛或第三方服務可能會導致此問題。
WordPress REST API 使編輯器能夠與伺服器通訊,並執行儲存和釋出內容等任務。如果 REST API 被阻止或出現故障,編輯器就無法收到有效的 JSON 響應。
檢視 REST API 除錯日誌可幫助你找出導致此錯誤的任何潛在問題。請按照以下說明檢視除錯日誌:
- 通過 FTP 或託管提供商的檔案管理器訪問 WordPress 網站的根目錄。
- 開啟 wp-config.php 檔案,在“That’s all, stop editing! Happy publishing!”一行,以啟用除錯和日誌功能:
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);
完成後,儲存更改。
- 進入 WordPress 編輯器,嘗試更新內容以觸發錯誤並生成日誌條目。
- 訪問網站根目錄下的 wp-content 目錄。然後找到 debug.log 檔案並開啟,檢視日誌條目。
- 在該檔案中查詢與 REST API 相關的條目。這些條目可能會提供導致 JSON 錯誤的線索,例如 SSL 證書問題、伺服器配置問題或請求受阻。
6. 停用所有WordPress外掛
有時,WordPress外掛可能彼此衝突或與WordPress核心衝突。這可能會導致意外行為,並且可能是無效JSON錯誤的潛在原因。
只需轉到“外掛»已安裝外掛”頁面。在這裡,選擇所有WordPress外掛,然後在“批量操作”下拉選單下選擇“停用”,單擊“應用”按鈕繼續。
WordPress現在將停用所有已安裝的外掛。
如果錯誤消失,則表明您網站上安裝的一個外掛引起了該錯誤。
要弄清楚哪個外掛,您需要一個個地啟用,然後嘗試重現該錯誤。重複此過程,直到找到罪魁禍首。
之後,您可以與外掛作者聯絡以獲得支援或找到其他外掛。
7. 臨時切換到經典編輯器
在努力解決無效 JSON 響應錯誤的同時,還有一些臨時解決方案可以繼續不間斷地更新內容。這些方法有助於繞過問題,在應用永久性修復之前提供一種變通方法。
使用經典編輯器外掛
顧名思義,經典編輯器外掛可以讓你使用以前的經典編輯器。它對 WordPress REST API 的依賴性較低,可以幫助避免塊編輯器的問題。具體方法如下:
- 在儀表盤中,轉到外掛 → 安裝新外掛。
- 搜尋 Classic Editor 外掛,安裝並點選啟用。
- 啟用後,它將取代 WordPress 區塊編輯器。再次嘗試編輯內容,看看問題是否得到解決。
直接上傳媒體檔案
如果在塊編輯器中上傳圖片或檔案時出現 JSON 錯誤,作為臨時解決方案,您可以直接通過媒體庫上傳媒體:
- 導航至媒體 → 新增檔案 。
- 在此上傳檔案,然後將它們插入到文章或頁面中。
8. 進一步故障排除
許多事情會阻止WordPress REST API或使其返回無效的JSON響應。我們已經解決了上面最可能的問題,但是,如果這不能解決您的問題,那麼您可以嘗試其他一些步驟。
切換到WordPress預設主題
有時,您的WordPress主題與外掛或WordPress核心之間的衝突可能會導致意外行為。
您可以通過簡單地切換到預設的WordPress主題(例如TwentyTwentyOne或Twenty-Twenty)來進行測試。
暫時關閉網站應用程式防火牆
防火牆通過阻止可疑請求來 保護WordPress網站免受惡意攻擊。不過,出於安全原因,它們也可能阻止來自 WordPress 編輯器的合法請求,導致類似無效 JSON 響應這樣的錯誤。
解決此問題的最簡單方法是暫時禁用WordPress防火牆外掛或服務。
只需停用外掛即可禁用某些應用程式級WordPress防火牆。對於Sucuri和Cloudflare等DNS級別的防火牆,您可以從帳戶儀表盤中將其禁用。
暫時禁用安全防火牆可以確定它是否是問題的根源。請按照以下步驟操作:
- 如果使用 Wordfence、Sucuri 或 iThemes Security 等防火牆外掛,請暫時停用。
- 使用 Cloudflare 或 AWS WAF 等網路應用程式防火牆 (WAF) 的使用者可以訪問 WAF 網站,開啟設定,暫時禁用或將其設定為“學習模式”。
- 如果您的主機提供商有伺服器級防火牆,請訪問控制面板並將其關閉。
- 返回 WordPress 編輯器,嘗試儲存或釋出內容。如果錯誤已經解決,則說明是防火牆造成的。
- 重新啟用防火牆並調整其設定,允許有效請求而不阻止它們。如果您需要幫助,請聯絡您的外掛、WAF 或主機提供商的支援團隊尋求幫助。
啟用WordPress除錯
WordPress內建debug功能,可讓您記錄錯誤日誌。但是,預設情況下未啟用它。
要開啟它,您需要將以下程式碼新增到wp-config.php檔案中:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true );
之後,WordPress會將所有錯誤的日誌儲存在/wp-content/資料夾中的debug.log檔案中。您可以使用FTP客戶端訪問此檔案。
錯誤日誌可能會為您提供有關導致網站上無效JSON錯誤的原因線索。
小結
WordPress 的 JSON 響應無效錯誤可能由幾個問題引起,如不正確的 URL 設定、外掛衝突或伺服器配置問題。
本文提供了幾個故障排除步驟,從檢查永久連結和禁用外掛到修復混合內容和檢視 REST API 除錯日誌。有條不紊地實施這些解決方案,找出根本原因並解決此 WordPress JSON 錯誤。
如果問題仍然存在,請考慮聯絡 WordPress 專業人員尋求進一步幫助。如果您有任何問題或解決此問題的技巧,請使用下面的評論框。
常見問題
什麼是WordPress中的JSON響應?
WordPress中的JSON響應是伺服器和瀏覽器之間交換的資料,特別是在編輯器中。WordPress 使用 JSON 通過 REST API 進行通訊,以完成儲存和釋出內容等任務。
如何處理JSON響應錯誤?
要處理 JSON 響應錯誤,請檢查 URL 設定、永久連結、外掛和伺服器配置。然後,按照停用外掛、檢視 REST API 除錯日誌和調整安全設定等故障排除步驟解決問題。
如何檢查JSON是否有效?
要檢查 JSON 是否有效,請使用 JSONLint 等線上工具或 Google Chrome 瀏覽器的網路選項卡等瀏覽器開發工具。複製 JSON 響應,將其貼上到工具中,然後進行驗證。該工具會突出顯示 JSON 結構中的錯誤,以便更正。
評論留言