我對應用程序使用Kohana PHP框架。現在我遇到了一個問題,當jQuery對某個文件執行AJAX請求時,它確實有效,但是當該文件引發PHP異常時,jQuery將失敗並且不顯示該文件的輸出。jQuery AJAX請求在PHP異常上失敗
一個小例子,這是一段JavaScript代碼:
$.post($('#' + e.currentTarget.id).attr('action'), $('#' + e.currentTarget.id).serialize(), function (data)
{
alert (data);
}/*, 'json' */);
現在,當PHP文件,這是否(警告框彈出),其工作原理:
<?php echo 'Test'; ?>
但當某處PHP文件發生這種情況:
<?php throw new Exception ('Test'); ?>
jQuery失敗並且不顯示輸出的HTML錯誤,a LSO存在PHP頭差(由PHP生成?):
隨着PHP的echo(好):
. Connection:Keep-Alive
. Content-Encoding:gzip
. Content-Length:544
. Content-Type:text/html; charset=UTF-8
. Date:Wed, 22 Jul 2009 14:22:43 GMT
. Keep-Alive:timeout=15, max=100
. Server:Apache/2.0.59 (Unix) PHP/5.2.6 DAV/2
. Vary:Accept-Encoding
. X-Powered-By:PHP/5.2.6
隨着PHP異常(失敗):
. Connection:close
. Content-Encoding:gzip
. Content-Length:1896
. Content-Type:text/html; charset=UTF-8
. Date:Wed, 22 Jul 2009 14:23:11 GMT
. Server:Apache/2.0.59 (Unix) PHP/5.2.6 DAV/2
. Vary:Accept-Encoding
. X-Powered-By:PHP/5.2.6
現在我真的沒有看到任何問題,PHP都會迴應一些HTML。之前有人遇到過這個問題,你是怎麼解決這個問題的?
感謝您的幫助!
什麼是你的error_reporting水平PHP設定?如果它沒有設置爲顯示異常(儘管它應該是),那麼你將看不到任何輸出。 – inkedmn 2009-07-22 15:07:20
它會顯示錯誤,當引發異常時,它會輸出整個回溯(HTML)作爲錯誤消息。如果PHP不顯示錯誤(它確實是這樣),從邏輯上看,Javascript應該彈出一個空的警告框? – Stefan 2009-07-22 15:16:44