在 php codeigniter 中使用 json 显示变量不起作用
displaying variables using json in php codeigniter not working
我有一个简单的 json 代码可以从网站获取详细信息,我的控制器如下所示:
public function trackinsert()
{
$data = array();
$awb = $this->input->post('awb');
if($awb == ""){
echo json_encode(array('error' => true, 'msg' => 'Please enter AWB number'));
exit;
}
$in = array("AwbNumber" =>array($awb));
$post_data = json_encode($in);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://portal.teamex.ae/webservice/GetTracking",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $post_data,
CURLOPT_HTTPHEADER => array( "Content-Type: application/json",
"API-KEY:ff839ddcd02d22d5d7042d457ae04173",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$data = base64_encode($response);
echo json_encode(array('error' => false, 'msg' => $response, 'segment' => $data));
$result = base64_decode($data);
$result = json_decode($result);
/ exit;
$this->load->view('teamxtrackresult', array('data' => $result));
}
这给了我所有以 json 格式显示的数据,但在控制器中我试图获取它特定的变量并在视图中显示它,如下所示不起作用:
<p>AwbNumber: <span id="code"><?php echo $data->awb_number ?></span></p>
它只是给我一个错误:
Message: Undefined property: stdClass::$awb_number
谁能告诉我如何使用变量在视图中显示值,在此先感谢
您可以通过在视图页面中打印来检查响应格式
使用它来打印来自控制器的响应以供查看
在 teamxtrackresult.php 中插入这一行 print_r($data);
您将获得来自控制器的总数据以供查看
如果数据以数组形式传入,您需要使用 $data['awb_number']。如果它在数组中有多个值,您可以使用键索引来打印。例如 $data[0]['awb_number'].
我有一个简单的 json 代码可以从网站获取详细信息,我的控制器如下所示:
public function trackinsert()
{
$data = array();
$awb = $this->input->post('awb');
if($awb == ""){
echo json_encode(array('error' => true, 'msg' => 'Please enter AWB number'));
exit;
}
$in = array("AwbNumber" =>array($awb));
$post_data = json_encode($in);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://portal.teamex.ae/webservice/GetTracking",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $post_data,
CURLOPT_HTTPHEADER => array( "Content-Type: application/json",
"API-KEY:ff839ddcd02d22d5d7042d457ae04173",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$data = base64_encode($response);
echo json_encode(array('error' => false, 'msg' => $response, 'segment' => $data));
$result = base64_decode($data);
$result = json_decode($result);
/ exit;
$this->load->view('teamxtrackresult', array('data' => $result));
}
这给了我所有以 json 格式显示的数据,但在控制器中我试图获取它特定的变量并在视图中显示它,如下所示不起作用:
<p>AwbNumber: <span id="code"><?php echo $data->awb_number ?></span></p>
它只是给我一个错误:
Message: Undefined property: stdClass::$awb_number
谁能告诉我如何使用变量在视图中显示值,在此先感谢
您可以通过在视图页面中打印来检查响应格式
使用它来打印来自控制器的响应以供查看 在 teamxtrackresult.php 中插入这一行 print_r($data);
您将获得来自控制器的总数据以供查看
如果数据以数组形式传入,您需要使用 $data['awb_number']。如果它在数组中有多个值,您可以使用键索引来打印。例如 $data[0]['awb_number'].