我有一个API,我想从api响应中获取数据

时间:2016-01-23 06:42:12

标签: javascript jquery json api

以下是API:https://pincode.saratchandra.in/api/pincode/{any pin code}

示例:我有https://pincode.saratchandra.in/api/pincode/500022

上述API请求返回以下数据:

  

{ “状态”:200, “数据”:[{ “taluk”: “Khairatabad”, “STATE_NAME”: “特兰伽纳”, “REGION_NAME”:“海得拉巴   City“,”pincode“:”500022“,”office_name“:”中央秘书处   S.O “ ”ID“:4686, ”division_name“:” 海得拉巴   市 “ ”区“: ”海得拉巴“, ”delivery_status“: ”交货“, ”CIRCLE_NAME“:” 安得   邦“}]}

我想在我的网页上显示如下

  

Taluk:Khairatabad
  州名:Telengana

等等

我想要一个表格,它接收来自用户的密码并使用特定的密码进行请求,并获取该密码的数据并将其显示在网站上。

我一直在努力奋斗,但我找不到实现它的方法。

2 个答案:

答案 0 :(得分:0)

您可以使用Ajax或jQuery.getJSON()

访问它
$.getJSON( "https://pincode.saratchandra.in/api/pincode/500022", function( data ) {
   /* data is the fetch result from the api
    * you can access taluk field by data.data.taluk
    * or state name by data.data.state_name */
    console.log(data);
});

但如果您的网站托管在其他地方,您将有 CORS(跨源资源共享)问题。

除非将pincode.saratchandra.in服务器配置为允许 CORS ,否则使用此方法的浏览器无法执行此操作。您的服务器可以为您提出请求,或者您可以联系pincode.sratchandra.in以允许您的域/服务器访问数据。

您还可以使用php或其他服务器端脚本来访问数据。 例如在php中,除非服务器(pincode.sratchandra.in)允许你这样做。

这是php中的一个例子:

<?php
$json = file_get_contents('https://pincode.saratchandra.in/api/pincode/500022');
$obj = json_decode($json);

echo 'Taluk: ' + $obj->data->taluk;
echo '<br>';
echo 'State Name: ' + $obj->data->state_name;

答案 1 :(得分:0)

  

您好。
  我知道我正在回答这个不再存在的问题   对于提问的用户很重要。但对于那些也是   面对同样的问题可以从这个例子中获得帮助   这就是我回答这个问题的原因。   要在代码下面运行,请确保在系统中必须启用curl。否则它将无效。

      <?php
if(isset($_POST['pincode']))
{
     $pincode = $_POST['pincode'];
            $curl = curl_init();
            curl_setopt_array($curl, array(
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_URL => "https://pincode.saratchandra.in/api/pincode/" . $pincode
            ));
            $resp = curl_exec($curl);
            $temp = json_decode($resp);
             if($temp->status ==200)
             {
                    $records = $temp->data;

            $str ="";
            foreach ($records as $key => $values) 
            {
                $str.= "pincode :" .$values->pincode."</br>";
                $str.= "office_name :".$values->office_name."</br>";
                $str.= "delivery_status :" .$values->delivery_status."</br>";
                $str.= "division_name :".$values->division_name."</br>";
                $str.= "region_name :" .$values->region_name."</br>";
                $str.= "circle_name :".$values->circle_name."</br>";
                $str.= "district :".$values->district."</br>";
                $str.= "state_name :" .$values->state_name."</br>";
                $str.= "taluk :".$values->taluk."</br><hr>";    
            }
                    echo $str;
            curl_close($curl);
             }
             else
             {
                echo $temp->message;
             }


}
?>

<!DOCTYPE html>
<html>
<head>
    <title>User Form</title>
</head>
<body>
<form name="user_form" method="post" action="" id="user_form">
<input type="pincode" name="pincode" value="" placeholder="Enter pincode" required="">  
<input type="submit" name="submit" value="submit"> 
</form>
</body>
</html>
  

如果任何有问题的人可以随意提问。

相关问题