gpt4 book ai didi

php - jQuery AJAX 请求因 PHP 异常而失败

转载 作者:行者123 更新时间:2023-12-01 08:28:59 25 4
gpt4 key购买 nike

我正在为应用程序使用 Kohana PHP 框架。现在我遇到了一个问题,当 jQuery 对某个文件执行 AJAX 请求时,它确实有效,但是当该文件抛出 PHP 异常时,jQuery 失败并且不显示文件的输出。

一个小例子,这是一段 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 错误,PHP header 也存在差异(由 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。以前有人遇到过这个问题,你是如何解决这个问题的?

感谢您的帮助!

最佳答案

要显示错误是什么,您可以在 ajax 调用中执行此操作。

jQuery.ajax({
type: "POST",
...
error: function(xhr, desc, e) {
alert(xhr.responseText);
}
});

这应该使用与抛出 PHP 异常在常规页面上给出的相同的 html 来提醒您。

关于php - jQuery AJAX 请求因 PHP 异常而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1165955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com