Как получить данные API, используя jquery ajax?

5

В этом коде есть нормальное раскрывающееся меню, где у меня есть название города. Теперь, что я на самом деле хочу, когда я меняю любой город, а затем через jquery, я хочу получить данные json в своем окне предупреждения, которое пока не работает. Я не знаю почему? Итак, как я могу это сделать?

$(document).ready(function() {
  $("#city").change(function() {
    name = $(this).val();
    console.log(name);
    $.ajax({
      type: "POST",
      dataType: "json",
      data: {
        "name": name
      },
      url: "http://postalpincode.in/api/postoffice/" + name,
      success: function(data) {
        console.log(data);
      }
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="city" id="city">
  <option value="">Select City</option>
  <option value="delhi">delhi</option>
  <option value="ghaziabad">ghaziabad</option>
  <option value="noida">noida</option>
  <option value="meerut">meerut</option>
</select>
  • 0
    Сайт, который вы пытаетесь запросить, кажется неработоспособным. ERR_CERT_COMMON_NAME_INVALID
  • 0
    Покажите нам, что происходит на стороне PHP. Попробуйте var_dump($_POST); чтобы убедиться, что PHP получает данные.
Показать ещё 8 комментариев
Теги:

1 ответ

4
Лучший ответ

Пожалуйста, проверьте ниже код

<select name="city" id="city">
    <option value="">Select City</option>
    <option value="delhi">delhi</option>
    <option value="ghaziabad">ghaziabad</option>
    <option value="noida">noida</option>
    <option value="meerut">meerut</option>
</select> 

Ajax Called

<script>
    $(document).ready(function(){
        $("#city").change(function(){
            name = $(this).val();
            /*For PHP called is for Cross-Origin Request Blocked*/
            $.ajax({
               type:"GET",
               dataType: "json",
               data:{name: name},
               url:"test.php",
               success:function(data)
               {
                   alert('Get Success');
                   console.log(data);
               }
            });
        });
    });
</script>

Код файла PHP для запроса на перекрестный запрос заблокирован -

<?php 
$name_city = rawurlencode($_GET['name']);
$url = "http://postalpincode.in/api/postoffice/".$name_city;
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,"$url");
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_handle, CURLOPT_HEADER, false);
$postoffice_data = curl_exec($curl_handle);
curl_close($curl_handle); 
$postoffice_data = json_decode($postoffice_data);
echo json_encode($postoffice_data);
exit;
?>
  • 0
    Но я хочу знать, как получить данные после успеха. Я использую var myObj = $.parseJSON(data); myObj.PINCode; alert(data); console.log(data); который не работает.
  • 0
    @Rudra Обновить этот код в PHP-файле $postoffice_data = json_decode(json_encode($postoffice_data)); echo json_encode($postoffice_data);
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню