2012-04-06 2 views
0

У меня есть следующий код:.getJSON не заполняя массив

$(document).ready(function() { 
    $.getJSON('../includes/_quiz.php?class_id=163&course_id=183',function(data){ 
     $.each(data,function(k,v){ 
      questions[k] = v.question; 
      answers[k*4] = v.ansO; 
      answers[k*4+1] = v.ansT; 
      answers[k*4+2] = v.ansTh; 
      answers[k*4+3] = v.ansF; 
      }); 

     //html 
     }); 
    }); 

массив вопросов не заполняется, но когда я отладки, я получаю этот результат: когда я запросить страницу в браузере Я получаю тот же результат, который:

[{"question":"\u0623\u0647\u0645 \u0627\u0644\u0635\u0646\u0627\u0639\u0627\u062a \u0627\u0644\u0633\u0648\u0631\u064a\u0629 \u0648 \u062a\u062f\u062e\u0644 \u0628\u0627\u0644\u062a\u0635\u062f\u064a\u0631 :","ansO":"\u0627\u0644\u0623\u0633\u0645\u062f\u0629","ansT":"\u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u0632\u0631\u0627\u0639\u064a\u0629","ansTh":"\u0627\u0644\u0632\u064a\u0648\u062a \u0627\u0644\u0646\u0628\u0627\u062a\u064a\u0629","ansF":"\u0627\u0644\u0635\u0646\u0627\u0639\u0627\u062a \u0627\u0644\u0646\u0633\u064a\u062c\u064a\u0629","corr":"4"},{"question":"\u064a\u0633\u062a\u0648\u0631\u062f \u0627\u0644\u0639\u0631\u0627\u0642 \u0628\u0639\u0636 \u0627\u0644\u0645\u0648\u0627\u062f \u0645\u0646\u0647\u0627:","ansO":"\u0627\u0644\u0646\u0641\u0637","ansT":"\u0627\u0644\u062a\u0645\u0648\u0631","ansTh":"\u0627\u0644\u0623\u0644\u0627\u062a","ansF":"\u0627\u0644\u063a\u0627\u0632 \u0627\u0644\u0637\u0628\u064a\u0639\u064a","corr":"3"},{"question":"\u064a\u0628\u0644\u063a \u0639\u062f\u062f \u0633\u0643\u0627\u0646 \u0644\u064a\u0628\u064a\u0627 :","ansO":"\/3.5\/ \u0645\u0644\u064a\u0648\u0646 \u0646\u0633\u0645\u0629","ansT":"\/4\/ \u0645\u0644\u064a\u0648\u0646 \u0646\u0633\u0645\u0629","ansTh":"\/5\/ \u0645\u0644\u064a\u0648\u0646 \u0646\u0633\u0645\u0629","ansF":"\/5.5\/ \u0645\u0644\u064a\u0648\u0646 \u0646\u0633\u0645\u0629","corr":"4"}], 

Я отлажена код и обнаружил, что он не попадает внутрь, он движется прямо к концу

, прежде чем я сделал некоторые modificat ионов в код, массив был заполнен, что может быть проблемой?

+1

Это запятая в самой концевой части ответа? – JayC

+0

nope JayC, я принял только часть ответа, потому что слишком длинный – mfadel

ответ

1

если файл JSON содержит синтаксическую ошибку, то запрос будет обычно не молча. Поэтому добавьте метод .error и проверьте, нет ли какой-либо ошибки при разборе json

// Assign handlers immediately after making the request, 
// and remember the jqxhr object for this request 
var jqxhr = $.getJSON("example.json", function() { 
    alert("success"); 
}) 
.success(function() { alert("second success"); }) 
.error(function() { alert("error"); }) 
.complete(function() { alert("complete"); }); 
+0

хорошо результатом этого является jqxhr.statusText «success» jqxhr.status 200 данные извлекаются, но код внутри .getJson() не вызывается – mfadel

+0

он оповещает, первый: второй успех затем, полный, кажется, только проблема, я не знаю, как обращаться с данными – mfadel

+0

Так что он не умеет разбирать json, хотя запрос обрабатывается успешно попробуйте parseJson() во втором успехе –

1

Пожалуйста, присвоить данные одной переменной

Var результат = данные

вы просто написать, как

оповещения (результат [0] .questions)

вы получаете формат Array, но не назначены ny Переменная. Сначала присвоить переменной

result = [{"question":"\u0623\u0647\u0645 \u0627\u0644\u0635\u0646\u0627\u0639\u0627\u062a \u0627\u0644\u0633\u0648\u0631\u064a\u0629 \u0648 \u062a\u062f\u062e\u0644 \u0628\u0627\u0644\u062a\u0635\u062f\u064a\u0631 :","ansO":"\u0627\u0644\u0623\u0633\u0645\u062f\u0629","ansT":"\u0627\u0644\u062‌​3\u062f\u0648\u0627\u062a \u0627\u0644\u0632\u0631\u0627\u0639\u064a\u0629","corr":"4"}] 
+0

вы получаете формат Array, но не привязаны к какой-либо переменной. Сначала назначьте переменную result = [{"question": "\ u0623 \ u0647 \ u0645 \ u0627 \ u0644 \ u0635 \ u0646 \ u0627 \ u0639 \ u0627 \ u062a \ u0627 \ u0644 \ u0633 \ u0648 \ u0631 \ u0633 \ u0648 \ u0631 \ u064a \ u0629 \ u0648 \ u062a \ u062f \ u062e \ u0644 \ u0628 \ u0627 \ u0644 \ u062a \ u0635 \ u062f \ u064a \ u0631: "," ansO ":" \ u0627 \ u0644 \ u0623 \ u0633 \ u0645 \ u062f \ u0629 " , "ansT": "\ u0627 \ u0644 \ u0623 \ u062f \ u0648 \ u0627 \ u062a \ u0627 \ u0644 \ u0632 \ u0631 \ u0627 \ u0639 \ u064a \ u0629", "corr": "4"}] – Mahipal

+0

Я попробовал как вы сказали, когда я отлаживал код, я обнаружил, что он не входит внутрь .getJson(), он перескакивает прямо в конец кода – mfadel

+0

пытается удалить \ marks из формата массива. Надеюсь, вы получите то, что – Mahipal

Смежные вопросы