0

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

这是我的代码:

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

亲切的问候!

4

2 回答 2

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']);
}

希望这可以帮助。

于 2013-11-10T22:00:23.227 回答
0

这看起来像一个编码问题。确保你有字符集

<meta http-equiv="content-type" content="text/html" charset="ISO-8859-1" />
于 2013-11-10T22:09:04.690 回答