2010-11-09 35 views
1

XML cannot be the whole program - 其他人看到這個螢火蟲錯誤?當通過ajax接收遠程數據(json,因爲它)時發生。XML不能是整個程序

如果數據類型改變JSONHTML,做工精細。

這是我的實際代碼在PHP中:

我重新加載頁面,一旦會話已經過期。

if($action->getRequest()->isXmlHttpRequest()) 
{   
    $action->getResponse()->setContent("<script>window.location.reload();</script>");  
    $action->getResponse()->send();  
} 

螢火顯示以下錯誤:

XML不能整個程序 window.location.reload [該誤差BREAK]();

+0

如果我們要幫助您找出問題所在,您需要提供一些代碼。 – zzzzBov 2010-11-09 04:56:26

回答

1

您是否從Ajax調用中傳遞正確的數據格式?該錯誤表示這是與XML有關的,但是您說過它已將其設置爲JSON,而不是XML。

0

您發送的字符串"<script>window.location.reload();</script>"不包含JSON/JS而是HTML。所以客戶端試圖將該字符串解釋爲JSON/JS,但注意到整個腳本只是一個XML文本。

+0

那麼如何以正確的方式發送? – 2012-09-28 10:01:53

+0

@RaviKhakhkhar刪除腳本標籤。它們不是JavaScript的一部分。其餘的不是JSON。如果你真的想發送JSON,你必須發送像''「window.location.reload();」'''。 – Robert 2012-09-29 00:04:22

0

以這種方式加載時不能使用標籤。嘗試加載Javascript語句而不使用加載文件中的標籤。例如:

如果我動態加載它,此代碼會生成相同的錯誤。

<?php 
    echo "<script type='text/javascript'>alert('Hi');</script>"; 
?> 

此代碼不會產生任何錯誤,而是用得好好的:

<?php 
    echo "alert('Hi');"; 
?> 

這會幫助你的。

相關問題