2015-07-05 4 views
0

Когда выполняется следующий код, он не выводит результат. Может ли кто-нибудь сказать мне, где я ошибаюсь?Ошибка при выходе при попытке отображения json

HTML файл:

<head> 
<script type = "text/javascript">function ajax_get_json() 

    { 
    var hr = new XMLHTTPRequest(); 
    hr.open("GET","mylist.json",true); 
    hr.setRequestHeader("Content-type :application/json",true); 

    hr.onread 


    ystatechange = function() 
    { 
    if(hr.readyState == 4 && hr.status == 200) 
    { 
    var data = JSON.parse(hr.responseText); 
    var results=document.getElementById("results"); 
    results.innerHTML = data.user; 

    } 
    } 
    hr.send(null); 
    results.innerHTML = "requesting..."; 
    } 

</script> 
</head> 

<body> 

    <div id="results"></div> 
    <script type = "text/javascript">ajax_get_json();</script> 

</body> 

JSON файл: { "пользователь": "Джон", "возраст": 22, "страна": "США"}

+0

Вы проверили (ошибка) выход на отладочной консоли браузера? Что он говорит? – RhinoDevel

+0

выполните 'console.log (hr.responseText)' и 'console.log (data);' и посмотрим, что значения –

ответ

0

XMLHTTPRequest() должно быть XMLHttpRequest(). Файл JavaScript выглядит следующим образом:

function request() {} 

request(); 

HTML

<script src="file.js"></script> 

С var data = JSON.parse(hr.responseText); у вас есть на объекта. Пройтись объекта:

for(var key in obj) {} 

и магазин ключ и OBJ [ключ] в innerHTML, чтобы увидеть результат. Полный файл JavaScript:

function request() { 
    var hr = new XMLHttpRequest(); 
    hr.onreadystatechange = function() { 
    if (hr.readyState == 4 && hr.status == 200) { 
     var data = JSON.parse(hr.responseText); // object 
     var results = document.getElementById("results"); 
     results.innerHTML = ""; 
     for(var key in data) { 
     results.innerHTML += key + " " + data[key] + "<br>"; 
     } 

    } 
    } 
    hr.open("GET", "mylist.json", true); 
    hr.send(); 
    results.innerHTML = "requesting..."; 
} 

request(); 

(Пожалуйста, измените название вашего вопроса Будьте конкретны How to ask.!)

+0

Большое вам спасибо! Это сработало!! –

+0

Добро пожаловать! Пожалуйста, поддержите и (или) можете ответить. Благодаря! – Sun

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