外部URLからjsonデータを選択ボックスに入力したいとします。私は以下のAjax Uncaught TypeError:未定義のプロパティ 'length'を読み取ることができません
Uncaught TypeError: Cannot read property 'length' of undefined
を得続ける
は私のJSONレスポンス以下
{"ecoachlabs":{
"status":"201",
"msg":"Form data loaded successfully.",
"categories":[
{"id":"2","category":"church"},{"id":"3","category":"financial institution"},
{"id":"4","category":"old students association"},
{"id":"1","category":"school"},
{"id":"5","category":"tertiary"}
],
"storage":[
{"id":"1","category":"100MB"},{"id":"2","category":"250MB"},
{"id":"3","category":"500MB"},{"id":"4","category":"2GB"},
{"id":"5","category":"3GB"},{"id":"6","category":"5GB"}
]
}}
は私のAjaxのポストコードは、あなたがコンソールを行う
$(document).ready(function() {
$("#institution_category").click(function() {
var formData = {
load_request_form_data: "1"
}; //Array
$.ajax({
url: "http://api.ecoachlabs.com/v1/requests/api.php",
type: "POST",
data: formData,
success: function(data, textStatus, jqXHR) {
console.log(data.ecoachlabs.categories); //data - response from server
$.each(data.categories, function(i, v) {
$('#institution_category').append($('<option value="' + v.id + '">' + v.category + '</option>'));
});
},
error: function(jqXHR, textStatus, errorThrown) {
}
});
});
});
を続ける前に、存在する場合は?前の行で 'data.ecoachlabs.categories'を使用してください。 '$ .each'に空の値または配列以外の値を与えると、時々このエラーが出る可能性があります –