evalJSON не является функцией

#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); }); , чтобы проверить, находятся ли возвращаемые данные в допустимом формате или нет, или они возвращены или нет. ^^