gpt4 book ai didi

脚本第 1 行出现 php 错误 "headers already set"

转载 作者:行者123 更新时间:2023-12-01 06:40:55 25 4
gpt4 key购买 nike

我有一个 php 脚本,应该为 ajax 调用生成 xml 文件。它产生此错误消息:

警告:无法修改 header 信息 - 已通过/home/ocp/public_html/sites/all/modules/bookDisplay/getVersions.php:1 中的/home/ocp/public_html/sites/all 中的输出开始发送 header /modules/bookDisplay/getVersions.php 第 2 行

奇怪的是,php 脚本的开头看起来像这样:

<?php
header('content-type:application/xml;charset=utf-8');

因此,在我尝试在第 2 行再次发送 header 之前,第 1 行没有地方可以发送任何 header !我发现的所有关于类似问题的讨论都谈到了额外的空格,但我已经检查并三次检查,没有多余的行或空格。

该脚本是从 jquery ajax() 函数调用的,如下所示:

function getVersions(){
var bookSelected = $.data(document.body, 'book');
$.ajax({
cache:"false",
type: "GET",
dataType: "xml",
url: "sites/all/modules/bookDisplay/getVersions.php",
data: "book=" + bookSelected,
success:function(xml){

}
});
}

这个 jquery 函数是否以某种方式发送与 php 文件中发送的 header 冲突的 header ?我尝试删除“dataType”声明,这确实消除了错误消息。但随后响应返回为 text/html,而不是 xml。如何获得对 ajax 调用的正确 xml 响应而不出现“ header 已发送”错误?

最佳答案

请注意, header 应其他任何内容之前发送。确保 header 函数之前没有代码/html,甚至没有空格/缩进,并且第一个打开的 php 标签 <?php 之前没有任何内容。以及结束标签 ?> .

另请注意BOM (Byte Order Mark)那里可能存在。

关于脚本第 1 行出现 php 错误 "headers already set",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4353445/

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