问题是我在字符串的开头有一些奇怪的字符。
这是我的代码:
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脚本,我没有任何问题。
亲切的问候!
答案 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" />