【问题标题】:Output XML file | API with CodeIgniter [duplicate]输出 XML 文件 |带有 CodeIgniter 的 API [重复]
【发布时间】:2013-06-20 13:32:47
【问题描述】:

我正在使用 CodeIgniter 框架开发 API。

场景 -

  1. 我的应用程序将使用http://myapi.com/controler?parA=valA&parB=valB 调用我的API
  2. 我的控制器将 _GET 请求并处理它。
  3. 控制器将使用$this->load->view('response',$data, true) 调用视图。

我的查看文件 -

响应.php

<response>
    <status>
        200
    </status>
    <mode>
        VisaCreditCard
    </mode>
    <options>
        <option name="Transfer" url="http://myapi.com/controller/transfer?id=8230&reason=illness" />
        <option name="Cancel" url="http://myapi.com/controller/cancel?id=3934"/>
        <option name="New Booking" url="http://myapi.com/controller/book_new" />
    </options>
</response>

请注意,标签名称与我在应用程序中使用的名称相同,尽管其中的值含糊不清。这是因为我希望您注意&lt;options&gt;&lt;option/&gt;

问题

现在的问题是,当我调用我的 API 时,CI 会完成它的所有工作,然后给出我在屏幕上看到的所有视图

200 VisaCreditCard

当我查看页面的源代码时,我得到的正是我想要的,即我的 respons.php 文件中的文本 期待 我希望我在输出中获得的源代码在我调用该 url 时可见。


服务器信息

  • Ubuntu 13.04

  • Apache2

  • PHP 5

  • Codeigniter 2.1.3(重写 PHP 短标签 - FALSE & .htaccess 以省略 index.php)


【问题讨论】:

  • 如果您的问题得到解决。考虑接受最佳答案。

标签: php xml apache api codeigniter


【解决方案1】:

经过近 7 个小时的猛烈搜索,实验和苦难终于浮出水面。


我做了两件事,都解决了。

  1. 在声明 Content-Type:text/xml 的标头上设置。
  2. 省略第三个参数$this-&gt;load-&gt;view('response',$data)

现在我的代码是:

<?php header ("Content-Type:text/xml"); ?>

<response>
    <status>
        200
    </status>
    <mode>
        VisaCreditCard
    </mode>
    <options>
        <option name="Transfer" url="http://myapi.com/controller/transfer?id=8230&reason=illness" />
        <option name="Cancel" url="http://myapi.com/controller/cancel?id=3934"/>
        <option name="New Booking" url="http://myapi.com/controller/book_new" />
    </options>
</response>

并且,不要忘记将&amp;amp; 转换为&amp;amp;,否则您将再次陷入错误。

【讨论】:

  • 我为您链接了一个潜在的副本。如果您使用 Codeigniter,我想这对您很有用。我是通过使用您的问题标题作为搜索词找到的。
  • @hakre 感谢通知。我已经删除了
     
    标签,但没有在这里编辑我的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-06
  • 1970-01-01
相关资源
最近更新 更多