Javascript 如何调试php返回和被调用的ajax成功函数之间发生的事情?
这太奇怪了,我有一个javascript函数,它有一个对服务器的ajax调用。 在一台显示器上,我的chrome浏览器处于Inspect模式,并在控制台中查看消息。 在另一个监视器上,我在我的PHPWeb服务器上打开了一个终端窗口,我正在查看输出的日志消息 正在调用的javascript方法是:Javascript 如何调试php返回和被调用的ajax成功函数之间发生的事情?,javascript,php,ajax,laravel,Javascript,Php,Ajax,Laravel,这太奇怪了,我有一个javascript函数,它有一个对服务器的ajax调用。 在一台显示器上,我的chrome浏览器处于Inspect模式,并在控制台中查看消息。 在另一个监视器上,我在我的PHPWeb服务器上打开了一个终端窗口,我正在查看输出的日志消息 正在调用的javascript方法是: function loadFilters() { console.log('loading Filters...'); $.ajax({ ur
function loadFilters() {
console.log('loading Filters...');
$.ajax({
url: '/filters/load',
type: 'GET',
success: function (result) {
console.log('loading Filters...returned successful');
},
error: function(response){
console.log('loading Filters...returned ERROR');
handleError(response);
}
});
}
路由最终调用以下php方法:
public function loadFilter(Photos $photos)
{
$ipAddress = $this->getClientIPAddress();
Log::info('****** ['.$ipAddress.'] Building View: '.Carbon::now()->format('h:i:s.u'));
$view = view('console.photos.filter');
Log::info('****** ['.$ipAddress.'] Returning: '.Carbon::now()->format('h:i:s.u'));
return $view;
}
当我单击浏览器中的按钮时,它调用javascript方法loadFilters()。
我在控制台中看到消息“正在加载筛选器…”
然后在服务器上,我在大约1秒内看到消息“Building View…”和“Returning”。
正如您所看到的,在返回消息之后除了“return$view;”之外没有其他内容
但javascript显示“加载过滤器…返回成功”大约需要30秒。
此时返回的html不多。
什么可能导致服务器上的返回和javascript中的成功调用之间的时间如此之长?服务器在本地主机上吗?可能是查看
控制台。照片。过滤器
很重,很难渲染。可能在viewconsole.photos.filter中发生异常。也许可以检查视图本身。根据laravel日志消息判断,视图渲染正确且快速。他可以尝试将dataType:'html'
添加到$.ajax({…,dataType:'html',…})
中,以帮助jquery找出您期望从服务器返回的数据类型。