通过jquery AJAX函数获取奇怪的字符


getting strange chars through jquery AJAX function

问题是我在字符串的开头得到奇怪的字符。

这是我的代码:

PHP 脚本:

public function get_hotel_phone(){
   $hotel = new HotelModel();
   $query = "SELECT * FROM hotel WHERE id_hotel=" . $_POST['id_hotel'];
   $hotel = $hotel->execute_query($query);  
   echo $hotel[0]['hotel_phone'];
   return 1;
}

Jquery 脚本:

function get_hotel_phone(hotel_id){
    $.ajax({
        type: "POST",
        data:"id_hotel=" + hotel_id,
        dataType: "html",
        url: "index.php?controller=Booking&action=get_hotel_phone",                            
        success: function(response){
                    alert(response);
            $("#booking_phone_number").attr("value",response);
            return 1;
        }
    });
}

截图:

http://imageshack.us/photo/my-images/850/7nkz.png/

http://imageshack.us/photo/my-images/163/gltn.png/

在第一张图片中,我显示了带有 4 个方块的警报框。

在第二张图片中,我展示了程序员的工具,我不知道为什么我有 4 个带有 ''ufeff 的红点。

我还编写了一些Jquery Ajax脚本,我没有任何问题。

亲切问候!

我认为您应该使用JSON编码而不是以HTML格式返回响应。

function get_hotel_phone(hotel_id){
$.ajax({
    type: "POST",
    data:"id_hotel=" + hotel_id,
    dataType: "json",
    url: "index.php?controller=Booking&action=get_hotel_phone",                            
    success: function(response){
                console.log(response);
        $("#booking_phone_number").attr("value",response);
        return 1;
    }
});

}

和:

public function get_hotel_phone(){
    $hotel = new HotelModel();
    $query = "SELECT * FROM hotel WHERE id_hotel=" . $_POST['id_hotel'];
    $hotel = $hotel->execute_query($query);  
    return json_encode($hotel[0]['hotel_phone']);
}

希望这有帮助。

这看起来像一个编码问题。确保已设置字符集

<meta http-equiv="content-type" content="text/html" charset="ISO-8859-1" />