私は関数が応答を得るまで正常に動作するように見えるPHPファイルに値をポストします。 PHPファイルは、1行のJSON応答を返します。変数にPOST jsonの値を取得できません
しかし、変数に設定することはできませんし、通常の状態で動作するように見えるvariablname [0]として使用することはできません。
はここに私のコードです:
expoList.showdetail = function(expoID) {
var detay;
/*$scope.content = 'Please click the icons on the map for exposition event details. expoID=' + expoID;*/
$http({
method: 'POST',
url: base_url + '/Exposite_info_controller/get_expo_data',
data: "expoID=" + expoID,
headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'}
}).then(function(response) {
$scope.expoList.detay = response.data;
});
var writehtml = '';
writehtml += '<div id="info-image"><img src="images/expositions/' + detay[0].imagename + '" width="300" height="188" /></div>\r\n';
writehtml += '<div id="address-info">'
writehtml += '<strong>' + detay[0].expoName + '</strong><br />\r\n'
writehtml += detay[0].expoAddress + '<br />\r\n';
if(detay[0].expoAddress2 != '') {
writehtml += detay[0].expoAddress2 + '<br />\r\n';
}
writehtml += detay[0].expoCity + '<br />\r\n';
writehtml += '</div>\r\n';
$scope.content = writehtml;
};
そして、これはPHPファイルから返すものです:
[{"expoID":"2","expoName":"CONGRESIUM ANKARA","expoAddress":"Sogutozu Caddesi No:1\/A, 06510 Cankaya","expoAddress2":"","expoCity":"Ankara","top":"150","left":"355","imagename":"congresiumankara.jpg","startdate":"2016-12-02","enddate":"2016-12-03"}]
私は、コンソールから、次のエラーメッセージが出ます:
angular.min.js:122 TypeError: Cannot read property '0' of undefined
at Object.expoList.showdetail (main.js:21)
at fn (eval at compile (angular.min.js:236), <anonymous>:4:300)
at e (angular.min.js:281)
at b.$eval (angular.min.js:147)
at b.$apply (angular.min.js:147)
at HTMLAnchorElement.<anonymous> (angular.min.js:281)
at bg (angular.min.js:38)
at HTMLAnchorElement.d (angular.min.js:38)(anonymous function) @ angular.min.js:122(anonymous function) @ angular.min.js:94$apply @ angular.min.js:147(anonymous function) @ angular.min.js:281bg @ angular.min.js:38d @ angular.min.js:38
のように、コールバック関数の内部でREPONSEに作用することになってあなたのコードは、あなたが使用する場合は、結果が何であるかを教えてもらえ置く約束を返します** typeof **と応答データ?コールバック関数で 'typeof response'を試してみてください。 – Anson
私はあなたの変数 'detay'を埋めるのを見たことがありません – Beginner