php: ajax请求,在返回信息前面出现ufeff红点,导致解析错误

问题:ajax请求,在返回信息前面出现ufeff红点,导致解析错误

原因:PHP文件格式编码位utf-8 bom  文件编码是含BOM的会导致出现这种情况

解决:

   第一种方法:PHP文件格式编码转化为utf-8

   第二种方法:在接口echo输出前面,添加一个ob_clean()函数

                         ob_clean: 清空输出缓冲区的内容

ob_clean() 是一个 PHP 函数,用于清除输出缓冲区中的内容。它的作用是清除输出缓冲区中的数据,并立即将其发送到浏览器或输出流。

在 PHP 中,输出缓冲区用于存储待输出的数据。当你使用 ob_clean() 函数时,它将清除输出缓冲区中的所有数据,并将其发送到浏览器或输出流中。这可以确保在接下来的代码中不会输出之前已经缓冲的数据。

以下是一个示例,演示了 ob_clean() 的使用:
<?php  
// 打开输出缓冲区  
ob_start();  
  
// 输出一些内容  
echo "Hello, World!";  
  
// 清除输出缓冲区中的内容  
ob_clean();  
  
// 输出新的内容  
echo "This is new content.";  
  
// 关闭输出缓冲区  
ob_end_flush();  
?>

在上面的示例中,首先使用 ob_start() 打开输出缓冲区,然后输出一些内容。接下来,使用 ob_clean() 清除输出缓冲区中的内容,并立即发送到浏览器或输出流。最后,使用 ob_end_flush() 关闭输出缓冲区,并将缓冲区中的内容发送到浏览器或输出流。这样,只有 "This is new content." 会被输出到浏览器或输出流中。

请注意,ob_clean() 函数仅清除输出缓冲区中的内容,并不会关闭输出缓冲区。要完全关闭输出缓冲区并发送所有内容,请使用 ob_end_flush() 函数。

  

 

posted @ 2023-11-02 10:59  三七、  阅读(53)  评论(0编辑  收藏  举报