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

时间:2013-11-10 21:55:12

标签: javascript php jquery ajax

问题是我在字符串的开头有一些奇怪的字符。

这是我的代码:

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脚本,我没有任何问题。

亲切的问候!

2 个答案:

答案 0 :(得分:0)

我认为您应该使用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']);
}

希望这有帮助。

答案 1 :(得分:0)

这看起来像编码问题。确保您拥有charset set

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