Ich arbeite an einem Projekt mit AngularJs (1.5) und Codeigniter Rest Server. Ich frage mich, warum Daten-Tags nicht an PHP übergeben werden? Lassen Sie mich Ihnen meinen Code zeigen und erklären Sie ihn mit Kommentaren.Daten werden nicht in Post-Methode zu API-Aufruf übergeben
Fabrik
factory.insert = function(tag){
console.log(tag); //out put present, so problem is in http request
return $http({
method: 'POST',
url: $location.protocol() + '://' + $location.host() + '/rest/api/tag/tag/',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
data: {
tag: tag
}
}).then(function successCallback(response) {
return response.data;
}, function errorCallback(response) {
console.log('Can\'t insert tag: ' + response.data.message);
});
};
PHP
public function tag_post()
{
$condition['tag'] = $this->post('tag');
var_dump($condition);
}
var_dump $condition['tag']
'tag' null
UPDATE
Kleine Änderung in der Fabrik mein Problem gelöst ist. Jetzt sehen meine Daten so aus und es funktioniert. Warum?
data: $.param({
tag: tag
})
UPDATE 2
Gleiche passiert, wenn ich mit CakePHP oder Codeigniter arbeiten. Also ich denke, es ist kein PHP-Seite Problem
Wenn 'tag' Objekt tun würde, so geben sie als' Daten: tag' –
vor Rückkehr Erfolg [object Object] geschieht, so Anfrage geht durch, aber der Wert in der Datenbank ist NULL. Typ des Tags var ist string –
Ist das gleiche mit 'headern: {'Content-Type': 'multipart/form-data'}'? – TGrif