【发布时间】:2015-03-16 12:42:49
【问题描述】:
我编写的这段代码是为了使用 JSON 中的 post 方法将数据发送到 api,但作为响应,我变得无效,谁能告诉我代码中有什么问题。
$post = array(
"operatorCode"=>"9",
"scheduleCode"=>"84W92XC8LOBAF3KZP4",
"travelDate"=>"2015-03-20",
"fromStationCode"=>"84",
"toStationCode"=>"76",
"boardingPointCode"=>"191933",
"droppingPointCode"=>"0000",
"email"=>"*********",
"mobile"=>"*******",
"passenger"=>array(
"seatNumber"=>"40",
"name"=>"*****",
"age"=>"20",
"gender"=>"Male"
)
);
$data_string = json_encode($post);
echo $data_string;
$ch=url_init('http://api?username=*****');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS,array('data'=>$data_string));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$result = json_decode($result);
var_dump($result);
echo'<pre>';
print_r($result);
来自 api 的响应
stdClass Object
(
[code] => 0
[errorCode] => ER30
[errorDesc] => Invalid Data
[message] => Failure
)
示例网址:
http://<ServerName>/bookbustickets/rest/json/2.0/tempbooking?username=****&password=******
示例输入数据:
data={"operatorCode":"2586",
"scheduleCode":"7Q52586C3YG8KJ350F2F5V264",
"travelDate":"2015-03-10",
"fromStationCode":"76",
"toStationCode":"75",
"boardingPointCode":"284936",
"droppingPointCode":"0000",
"email":"test@gmail.com",
"mobile":"9876543210",
"passenger":[
{
"seatNumber":"3",
"na 9 me":"Test",
"age":20,
"gender":"Male"},
{
"seatNumber":"4",
"name":"Test",
"age":20,
"gender":"Male"}
]
}
【问题讨论】:
-
更具体的错误信息。是 curl 错误还是 API 返回的错误?
-
响应即将到来,但显示无效数据和失败
-
响应来自哪里????在您的问题中显示回复编辑您的问题不要将其放在评论中
-
来自 api 的响应
-
屏幕截图在这里。如果是 curl 错误,请尝试学习如何使用
curl_errorphp.net/curl_error 以及curl_errnophp.net/curl-errno