Ich erhalte diese Daten von der Datenbank im Controller. Ich habe während des Speicherns und während des Datenabrufs Schrägstriche verwendet. Bitte siehe Controller und PHP-Datei. Ich muss diesen Fehler behoben haben. Ich hoffe, dass jemand sagen kann, was ich falsch mache.JSON-Parserfehler: schlechtes Escapezeichen
{"records":[{"id":"425","name":"a","content":"a\b<br>a<br>b"},{"id":"426","name":"1","content":"1\2"}]}
Bitte überprüfen Sie auch .. ionicnotepad.com/www das ist, was ich im Üben mache. Wenn Sie Daten mit einer Unterbrechung darin speichern .. anugular, egal, was
im textarea zeigt. Ich habe alles versucht. $ sce, ng-bind-html, ng-sanitize, sogar die Direktive, wenn Sie divs und contentable verwenden.
//controller
app.value('count', 0);
app.controller('retrieveController', ['$sce','noteRetrieve','$state','alterNote','count','$ionicModal','$scope', function($sce, noteRetrieve, $state, alterNote, count, $ionicModal, $scope){
var controller = this;
var temp = localStorage.getItem("ascOrDsc");
if(temp == "asc" || temp == null){
controller.orderValue = 'id';
controller.buttonDown = false;
controller.buttonUp = true;
localStorage.setItem("ascOrDsc", "asc");
} else {
controller.orderValue = '-id';
controller.buttonUp = false;
controller.buttonDown = true;
}
noteRetrieve.all()
.success(function(data){
var newData = data.replace(/<br>/g, '<br>');
newData = newData.substring(1, newData.length - 1);
// newData = angular.fromJson(newData);
console.log(newData);
// controller.allSaved = newData.records;
// for(i = 0; i < newData.records.length; i++){
// count++;
// }
// controller.noOFNotes = count;
});
controller.deleteNote = function(noteId, noteName, noteContent){
var currentNote = {
id: noteId,
name : noteName,
content : noteContent
};
controller.itemId = noteId;
alterNote.delete(currentNote)
.success(function(){
$state.go('notes.allnotes', {}, {reload: true});
});
};
controller.changOrder = function(){
var ascOrDscValue = localStorage.getItem("ascOrDsc");
if(ascOrDscValue == 'asc'){
controller.orderValue = '-id';
controller.buttonUp = false;
controller.buttonDown = true;
localStorage.setItem("ascOrDsc", "desc");
} else {
controller.orderValue = 'id';
controller.buttonUp = true;
controller.buttonDown = false;
localStorage.setItem("ascOrDsc", "asc");
}
};
$ionicModal.fromTemplateUrl('templates/createNote.html', {
scope: $scope,
animation: 'slide-in-up'
}).then(function(modal){
$scope.modal = modal;
});
$scope.createModal = function() {
$scope.modal.show();
localStorage.setItem('newNoteAvailable', 'no');
};
$scope.closeModal = function() {
if(localStorage.getItem('newNoteAvailable') == 'yes'){
$state.go('notes.allnotes', {}, {reload: true});
} else {
$state.go('notes.allnotes', {}, {reload: false});
}
$scope.modal.hide();
$ionicModal.fromTemplateUrl('templates/createNote.html', {
scope: $scope,
animation: 'slide-in-up'
}).then(function(modal){
$scope.modal = modal;
});
};
}]);
//php
$sql = "SELECT *
FROM noteFile";
$result = mysqli_query($conn, $sql);
$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "") {
$outp .= ",";
}
$outp .= '{"id":"' . $rs["id"] . '",';
$outp .= '"name":"' . $rs["name"] . '",';
$outp .= '"content":"'. $rs["data"] . '"}';
}
$outp ='{"records":['.$outp.']}';
$outp = json_encode($outp);
// var_dump($outp);
$outp = stripslashes($outp);
echo ($outp);
Mögliche Duplikat sein [Wie JSON.parse lösen: schlechte Steuerzeichen in Stringliteral, in diesem Code] (http: // Stackoverflow. com/questions/17487058/wie zu lösen-json-parse-bad-control-zeichen-in-string-literal-in-diesem-code) –
http://stackoverflow.com/questions/17487058/how-to -solve-json-parse-bad-control-Zeichen-in-String-Literal-in-diesem-Code ODER http://StackOverflow.com/Questions/9684925/JSON-Parsing-error-JSon-Parse-bad-control -character-in-string-literal ODER http://stackoverflow.com/questions/19573525/bad-control-character-error-in-json-parse –
Ich lese das und ich habe 2 Fragen dort. Aber die erste handelt von dem entkommenen Charakter. Ich verstehe nicht, ich muss am Ende einen Backslash in JSON bekommen und wenn das passiert, gibt es einen Fehler. Wenn Sie jedoch genau sehen. das ist ein Stich vor dem, dass ich bin, die auch Backslash hat und das gibt keinen Fehler ... –