Sto salvando i miei dati in un file json con uno script php (save-data.php) ma non riesco per recuperarlo correttamente con il mio script get-data.php. messaggioSyntaxError: Token imprevisto <in JSON in posizione 0 su Object.parse (nativo) (AngularJS)
Errore: angular.js: 12520 SyntaxError: imprevisto gettone < in JSON in posizione 0 a Object.parse (nativo)
Salva-data.php:
<?php
$json = file_get_contents("php://input");
$file = fopen('C:/test/save-data.json','w+');
fwrite($file, $json);
fclose($file);
?>
get-data.php:
<?php
//header('Content-Type: application/json');
$json = file_get_contents('C:/test/save-data.json');
//Decode JSON
//$json_data = json_decode($json, true);
//Print data
echo $json
?>
Salva-data.json:
{
"id": "179",
"var1": "variable1",
"var2": "variable2"
}
regolatore campione:
// save data (myModel: id, var1, var2)
$scope.save = function() {
console.log('Creating a JSON');
$scope.jsonString = angular.toJson($scope.myModel, true);
$http.post('save-data.php', $scope.jsonString).then(function(data) {
$scope.msg1 = 'Data saved';
});
$scope.msg2 = 'Data sent: '+ $scope.jsonString;
};
// get data
$scope.get = function() {
$http.get('get-data.php').then(function(data) {
//$scope.my_data = JSON.parse(data);
console.log(data.data);
});
};
EDIT: Non ho bisogno di decodificare il file JSON per JSON né analizzarlo (tutti hanno commentato gli script).
Cosa succede se vai a 'get-data.php' nel browser. Posso garantire al 100% che il tuo codice php non venga eseguito e restituisce il file così com'è. –
Perché stai chiamando 'json_decode()' nel tuo get-data.php? Questo converte il tuo oggetto JSON in un array, quindi ovviamente l'angolare non può analizzarlo dopo ('JSON.parse()' si aspetta oggetto JSON). Basta passarlo senza questa conversione. – mitkosoft
senza la conversione (json_decode()): angular.js: 12520 SyntaxError: token imprevisto o in JSON nella posizione 1 su Object.parse (nativo) – Ariana