【发布时间】:2016-02-27 18:21:54
【问题描述】:
我的场景如下:
- 当点击按钮时,客户端会向服务器端发送请求
- 一旦服务器端收到请求,它会向远程服务器发送另一个请求以获取结果
- 一旦响应到来,服务器端应该将响应回显给客户端。
客户
$.post('login_server.php'{act:"post",phone:phone,passwords:passwords},function(e){
alert(e);
},'json');
服务器
$act = isset($_POST["act"]) ? $_POST["act"] : "default";
if($act == "default"){
var_dump(123123);
}elseif($act == "post"){
$phone = $_POST["phone"];
$password = md5($_POST["passwords"]);
$data_array = array('phone' => $phone,'password' =>$password );
$jsonStr = json_encode($data_array);
$url = "http://xx.xx.xx.xx/xxxx/userinfo/login";
$data = http_post_json($url, $jsonStr);
echo json_encode(123);
}
function http_post_json($url, $jsonStr)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . strlen($jsonStr)
)
);
$response = curl_exec($ch);
$abc = json_encode($response);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
return array($httpCode, $response);
}
我检查了登录服务器。它可以从远程服务器获取响应。但是如果我添加
$response = curl_exec($ch);回调函数不起作用。
有人知道吗?
BR 达蒙
【问题讨论】: