Я читал несколько похожих сообщений по этому вопросу, и мой код, похоже, соответствует предложениям, но все же данные не возвращаются.
Вот мой JS:
$.post('php/get_last_word.php', { user_id : userID },
function(data) {
currentLanguage = data.language_id;
currentWord = data.word_id;
console.log("currentLanguage = " + currentLanguage)
console.log("currentWord = " + currentWord);
},'json');
И отношение PHP:
$user_id=$_POST['user_id'];
mysql_select_db(wordsicle_search);
$sql = "SELECT `language_id`, `word_id` FROM `save_state` WHERE `user_id`=$user_id";
$result = mysql_query($sql,$con);
while ($row = mysql_fetch_assoc($result)) {
$encoded = json_encode($row);
echo $encoded;
}
И полученный лог:
Connected successfully{"language_id":"1","word_id":"1"}
Так массив JSON идет эхом, но это не так заканчивается в data
, потому что currentLanguage
и currentWord
не являются popu веден. Это проблема с асинхронностью? Или что-то другое?
Почему это в цикле 'while'? Вы ожидаете более одного результата? Если это так, это ваша проблема; иначе просто сделайте это 'if'. Тогда есть факт, что они называются 'language_id' и' word_id', а не 'language' и' word' ... – Ryan
цикл while - это php – kinakuta