0

我有以下 PHP 文件(它的一个函数):

public function get_hotels(){
   $hoteles = new HotelModel();
   $query = "SELECT * FROM hotel";
   $hoteles = $hoteles->execute_query($query);
   echo json_encode($hoteles);
}

这是我的 jQuery 脚本:

$.ajax({
   type: "POST",
   url: "index.php?controller=ExcursionTypes&action=get_hotels",
   dataType:"json",
   success: function(response){
    alert(typeof (response[0].hotel_name));
    //$("#pickups_fields").html(response[0].hotel_name);
   },
   error:function(response){
    alert("ERROR");
   }
});

Firebug 向我抛出了这个 JSON:

[{"id_hotel":"1","hotel_name":"Apt.Playa del Ingles", "hotel_phone":"928762629",
"hotel_corporation_id":"1","hotel_state_id":"1"},
{"id_hotel":"2","hotel_name":"LZ",
"hotel_phone":"928762629","hotel_corporation_id":"1", 
"hotel_state_id":"2"}]

我想读取两个hotel_name 字段,但我不能。

我确定您正在给我解决方案或解决问题的链接。

虽然我也在找。

4

3 回答 3

1

Javascript 是区分大小写的,所以你应该写dataType,而不是datatype.

您作为响应获得的 JSON 是正确的并且response[0].hotel_name可以工作,但是由于您输入错误dataType,响应不会被解析为 JSON,因此您无法按照您的方式访问它。

于 2013-10-18T10:14:49.643 回答
0
$.ajax({
    type: "POST",
    url: "index.php?controller=ExcursionTypes&action=get_hotels",
    dataType:"json",
    success: function(response){
        for(key in response) {
            alert(typeof (response.hotel_name[key]));
        });
    },
    error:function(response){
        alert("ERROR");
    }
});
于 2013-10-18T10:24:36.850 回答
0

尝试迭代对象作为响应,如下所示:

$.ajax({
    type: "POST",
    url: "index.php?controller=ExcursionTypes&action=get_hotels",
    dataType:"json",
    success: function(response){
        $.each(response, function(i, hotel) {
            alert(typeof (hotel.hotel_name));
            //$("#pickups_fields").html(hotel.hotel_name);
        });
    },
    error:function(response){
        alert("ERROR");
    }
});
于 2013-10-18T10:18:03.570 回答