0

PHPでHTTPヘッダーを次のように設定しました:

header("Content-Type: application/xml"); 

そして、私は次の応答を得ました:

<?xml version="1.0" encoding="utf-8"?>
<feedback>
    <result>False</result>
</feedback>

しかし、ヘッダーを確認すると、応答タイプはapplication/atom+xml. 私はこれをapplication/xmlフォーマットする必要があります。この問題の原因は何ですか?

4

2 に答える 2

3

それがうまくいかない理由はありません。そのxmlで簡単なテストケースを試したところ、確かにうまくいきました。

<?php
header("Content-Type: application/xml");
?><?xml version="1.0" encoding="utf-8"?>
<feedback>
    <result>False</result>
</feedback>

あなたが私たちに見せていないことがphpにもっとあるか、サーバーソフトウェアに何かが誤って設定されている可能性があります。

アップデート

回答で提供した情報に基づいて、ルート要素を で始まらないものに変更することでこれを修正できると思います<feed。コメントで述べたように、何かがこれを Atom フィードであると誤って解釈し、コンテンツ タイプを書き換えています。

とはいえ、コンテンツ タイプの他の書き換えをトリガーする可能性のある他の文字列 (たとえば<rss) があると想定されるため、エラーの原因となったシステムを突き止めて、それを取り除くことができれば望ましいでしょう。

于 2013-05-08T10:08:23.010 に答える