我想在使用http://gmail.com/cb/send/send.php?user_name=admin1&password=test123&subscriber_no=1830070547&mask=Peter&sms='测试短信'等参数点击网址时发送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);
?>
用户会通过这种回声得到共鸣吗?
答案 0 :(得分:10)
return
不会向客户发送任何内容。如果您回显sendResponse()
的结果,那么客户端将收到XML:
echo sendResponse($type,$cause);
注意我从sendResponse调用中删除了$
- 如果你使用$
,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);
答案 1 :(得分:5)
您只需在脚本中指定一些标题,告诉浏览器/客户端正确处理此内容!除此之外,你必须连接而不是重新分配你的$ response var;)
在php中,这应该可以胜任:
header("Content-type: text/xml;charset=utf-8");