有时我得到一个空的响应,有时响应在angularjs中完美

时间:2018-01-10 02:03:44

标签: javascript php mysql angularjs character-encoding

我正在使用mysql和php with angular这是发布数据的代码

app.controller('buscar', function ($scope, $http) {

$scope.postData = function () {

var request = $http({
    method: "POST",
    url: 'busqueda.php',
    data: {
        cedula:$scope.cedula
    },
    headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8' }
}).then(function successCallback(response) { 
    $scope.datos = response.data;
    console.log($scope.datos);
},function(response) {
  $scope.error= response.statusText;
  console.log($scope.error);
});
}
});

我的php是:

$sql1 = "(SELECT * FROM `presentadas`  LEFT JOIN `desembolsos` ON  presentadas.`CLI_IDENTIFICACION` = desembolsos.`IDENTIFICACION` WHERE presentadas.`CLI_IDENTIFICACION` = '".$cedula."')";
             $result1 = $conn1->query($sql1);

                if ($result1->num_rows > 0) {

                while($row1 = $result1->fetch_assoc()) {
                        $datos1[]=$row1;
                    }
                 echo json_encode($datos1);  
               }else{
                echo "No se encontraron datos en presentadas";
               } 

我发布了一个名为cedula的数字,这是我在DB中搜索的数字,它是相应的行,正如我所说,它适用于数据库中列出的一些数字,但与其他数字不相符,在chrome的开发者控制台中,当我用console.log()显示响应时,它什么也没显示。 Image 1: here is when is failing, clicking in the console log record, it shows me error in line console.log($scope.datos) I guess it is not getting data

Image 2:Here is a working example showing the json response

我不知道为什么我会遇到这种不一致的情况。请帮帮我!!!!

2 个答案:

答案 0 :(得分:0)

回复:Ñ is raplaced with �

Trouble with UTF-8 characters; what I see is not what I stored

中搜索“黑钻石”

它表示要么你没有以utf-8开头,要么没有连接声明客户端有utf-8字节。 latin1中的Ñ是十六进制D1。在utf8中,它是C391

答案 1 :(得分:0)

我解决了它在查询之前在我的代码中设置这一行    $mysqli->set_charset("utf8") 谢谢