#javascript #jquery
#javascript #jquery
Вопрос:
ниже приведен мой код.
$("document").ready(function () {
var dataName = new Array();
$.get('<%=request.getContextPath()%>/empBox/ajaxToGetCodes.do', function (responseText) {
var JSONcustomers = $.evalJSON(responseText);
var total = JSONcustomers["arrayObj1"].length;
var index = 0;
});
Хотя я получаю текст ответа. Но он не может преобразовать его в json.
Выдает следующую ошибку.
$.evalJSON is not a function.
Я добавляю к нему всю необходимую библиотеку. jquery-json.js и jquery.js
Есть идеи, в чем может быть проблема??
Ответ №1:
Это $.parseJSON
…больше текста, чтобы соответствовать ограничению в 30 символов
Ответ №2:
Спасибо всем!!
На самом деле из-за какой-то другой внутренней проблемы со скриптом файл плагина jquery-json, хотя и отображался загруженным в DOM, но не был распознан вызывающим методом.
Итак, я использовал $.getScript, теперь мой код выглядит следующим образом
$.get('<%=request.getContextPath()%>/empBox/ajaxToGetCodes.do', function (responseText) {
$.getScript("<%=request.getContextPath()%>/web/include/js/jquery.json-2.2.min.js",
var JSONcustomers = $.evalJSON(responseText);
var total = JSONcustomers["arrayObj1"].length;
var index = 0;
});
});
И это решило мою проблему !! 🙂
Ответ №3:
Вместо ручного разбора JSON, почему бы просто не использовать getJSON, который делает это за вас?
Прочитайте документацию по адресу:http://api.jquery.com/jQuery.getJSON /
Ответ №4:
Я думаю, что это $.parseJSON
Если вы хотите использовать evalJSON, вот плагин:http://code.google.com/p/jquery-json /
Комментарии:
1. Сначала попробуйте это
$.get('<%=request.getContextPath()%>/empBox/ajaxToGetCodes.do', function (responseText) { alert(responseText); });
, чтобы проверить, находятся ли возвращаемые данные в допустимом формате или нет, или они возвращены или нет. ^^