2016-02-19 4 views
0

Функция процесса предназначена для определения нового запроса ajax и последующей отправки его в файл php. Когда что-то набирается в текстовое поле, которое принимает строку запроса capital, на консоли отображается сообщение об ошибке «SyntaxError: JSON.parse: неожиданный конец данных в строке 1 столбца 1 данных JSON». Вот моя функцияОшибка JSON Parse Неожиданный конец данных

function process(state, capital) { 


xmlHttp.open("_GET", "statecapitals.php?state=" + state + "&capital=" + capital, true); 

xmlHttp.onreadystatechange = function() { 
    if (xmlHttp.readyState === 4 && xmlHttp.status === 200) {    
     var resultJSON = JSON.parse(xmlHttp.responseText); 
     var result = resultJSON.capital; 

     if (result === 1) { 
      currentScore = score + 2; 
      objScore.innerHTML = currentScore; 
      showState(); 
      console.log(currentScore); 
     }; 


    }; 



}; 

xmlHttp.send(null); 
}; 
+0

Вы уверены, что ваш 'xmlHttp.responseText' действительно JSON? – kevin628

+0

Да все ли оно действительный –

+0

Вы бы могли привести пример фактического json? json - это фиктивный и должен быть отформатирован именно для того, чтобы 'JSON.parse' хорошо себя вести. – kevin628

ответ

0

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

console.log(xmlHttp.responseTex); 

Чуть ниже

if (xmlHttp.readyState === 4 && xmlHttp.status === 200) 

в вашем коде. и проверьте ответ, что он находится в json или он идет с прикрепленным к любой другой строке.

Я думаю, что это может вам помочь.

Thanks

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