.done успешно, но показывает пустые данные - PullRequest
0 голосов
/ 14 июня 2019

После выбора кнопки выпадающего списка, поле цены будет изменено соответствующим образом. Тем не менее, я продолжаю получать успешные предупреждения, но данные показывают пустой результат.

Я пытался использовать успех вместо готового, но результат тот же. Я также удалил тип данных: json, все еще без изменений.

$('#qty').change(function(){
    var val = $(this).val();
    $.ajax({
          method: "GET",
          url: "someURLHERE", 
          data: { val: val},
          dataType: "html"
        })
          .done(function(data) {
              alert("Success" + data);
                $('#price').html(data);
                $('#price').trigger('change');
          }).fail(function()  {
                alert("Fail");
   })

});

Вот моя модель:

  public function getPrice($product_id, $quantity){
       $sql = "SELECT price FROM `price_table` where quantity = '".$quantity."' and product_id = '".$product_id."' ";
       $query = $this->db->query($sql)->row_array();
       return $query;
   }

А вот мой контроллер:

public function getPrice(){
    $p_id = $_GET['p_id'];
    $qty = $_GET['qty_ag'];

    $price = $this->users_model->getPrice($prpduct_id, $quantity);
    json_ok($price);
}

Теперь возвращается окно предупреждения: Успешно {"status": "OK", "data": {"pv_value": "120.00"}}

Все, что я хочу получить, это значение 120,00

Ответы [ 2 ]

0 голосов
/ 17 июня 2019

Метод вашей модели getPrice() должен что-то возвращать.

0 голосов
/ 14 июня 2019

Вы сказали, что удалили dataType: "JSON", но какой тип данных вы возвращаете на стороне сервера (PHP), а также как вы его возвращаете?

Например

Если вы ожидаете данных типа JSON, вы все равно можете использовать их в JavaScript:

$('#qty').change(function(){
    var val = $(this).val();

    $.ajax({
      method: "GET",
      url: "someURLHERE", 
      data: {
        val: val
      },
      dataType: "JSON" // notice I've returned it to JSON
    })
    .done(function(data){
      console.log("Success" + data); // notice I'm using "console.log"
      $('#price').html(data);
      $('#price').trigger('change');
    })
    .fail(function(){
      alert("Fail");
    })
});

Но на стороне сервера PHP должен возвращать данные следующим образом:

<?php
  header("Content-Type: application/json");
  die(json_encode($yourData));
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...