var module = (function(){
return{
loadJSON: function(url, success, error){
$.when($.ajax({
type: 'GET',
cache: false,
url: url,
contentType: 'application/json',
data: {
format: 'json'
},
success: success,
error: function(err){
console.log('Error: ', err);
}
})).then(function(data){
alert('AJAX completed');
});
}
}
})();
$(document).ready(function(){
function _updateCompany(data){
data = JSON.parse(data);
data = data.data;
for(var i=0; i<data.length; i++){
var item = '<li>Name: ' + data[i]['name'] + ' Total Emp: ' + data[i]['totalCount'] + '</li>';
$('#companyList').append(item);
}
}
function _error(err){
console.log('Error: ', err);
}
module.loadJSON('/path/to/company.json', _updateCompany, _error);
});
Здесь я получаю строковый ответ, а не объект. Следовательно, для JSON.parse (данные);
В чем проблема?
Какой тип ответа вы получаете? Вы получаете строку JSON или не JSON? –
'contentType: 'application/json',' - Вы делаете запрос GET, нет содержимого для описания типа. Почему вы это устанавливаете? – Quentin
'dataType: 'json'' для функции loadJSON? – JClaspill