Ich rufe gerade api, die josn codierte Daten zurückgibt und versucht, Objekteigenschaft zu drucken, zeigt aber nicht definiert, aber wenn ich dieses Objekt drucke, hat das Objekt diese Eigenschaft und diesen Wert.Problem beim Zugriff auf Objekteigenschaften in Javascript zeigt undefined?
meinen Code
function sendData(postData, url){
var response = apiCall(postData,url);
console.log(response.email)
console.log(response.count);
}
function apiCall(postData, postUrl){
var response = {};
$http({
method : 'POST',
url : postUrl,
data : postData,
headers : {'Content-Type': 'application/json'}
}).success(function(data) {
console.log(data)
for (var attr in data) {
if (data.hasOwnProperty(attr)) response[attr] = data[attr];
}
});
return response;
}
PHP-basierte api
<?php
$_POST = json_decode(file_get_contents('php://input'), true);
$response = array();
$response['email'] = $_POST['oauth']['email'];
$response['type'] = $_POST['oauth']['type'];
echo json_encode($response);
?>
Antwortdaten in der Konsole
Objekt {E-Mail: „sameerdighe14 @ gmail. com ", Typ:" Google "}
Bitte fügen Sie Ihre Antwortdaten hinzu. – lin
Benötigen Sie wirklich diese Zeile 'if (data.hasOwnProperty (attr))' wenn Sie bereits '(var attr in data)' '? – brk
@brk es nach Eigenschaften überprüft und wenn es eine Eigenschaft mit leerem Feld gibt, dann wird es es keinem anderen Objekt zuweisen. – SaMeEr