5

我想在使用http://gmail.com/cb/send/send.php?user_name=admin1&password=test123&subscriber_no=1830070547&mask=Peter&sms= 'Test SMS'等参数点击 url 时发送 xml 响应

当一个人点击此链接时,将给出一个回复,如下所示

 public function sendResponse($type,$cause) {
    $response = '<?xml version="1.0" encoding="utf-8"?>';
    $response = $response.'<response><status>'.$type.'</status>';
            $response = $response.'<remarks>'.$cause.'</remarks></response>';
            return $response;
 }

我正在从我的控制器文件中调用此方法并仅回显该值。击球手会得到这个回应吗?

<?php
......
......
  echo $sendResponse($type,$cause);
 ?>

用户会对此回声产生共鸣吗?

4

2 回答 2

14

return单独不会向客户发送任何内容。如果您正在回显sendResponse()then yes 的结果,客户端将收到 XML:

echo sendResponse($type,$cause);

请注意,我$从 sendResponse 调用中删除了 - 如果您使用 .php,PHP 将假定它是一个变量$

建议添加一个标头来告诉客户端正在发送 XML 和编码,但这对于 XML 的传输不是必需的:

header("Content-type: text/xml; charset=utf-8");

.您可以在声明 XML 标头后使用连接字符:

 public function sendResponse($type,$cause) {

    $response = '<?xml version="1.0" encoding="utf-8"?>';
    $response .= '<response><status>'.$type.'</status>';

            $response = $response.'<remarks>'.$cause.'</remarks></response>';
            return $response;
 }

 ....
 ....

 header("Content-type: text/xml; charset=utf-8");
 echo sendResponse($type,$cause);
于 2012-11-20T10:21:53.227 回答
6

您只需要在脚本中指定一些标题,告诉浏览器/客户端正确处理此内容!除此之外,您必须连接而不是重新分配您的 $response var ;)

在 php 中,这应该可以完成工作:

header("Content-type: text/xml;charset=utf-8");  
于 2012-11-20T10:19:37.370 回答