Я использую Ajax для автоматического обновления значения $ _SESSION, когда используется опция выбора. В частности, если пользователь выбирает язык из выпадающего списка, необходимо обновить $ _SESSION ['language']. Это не происходит с моей реализацией, но я не понимаю, почему.AJAX не передает значения PHP
1) Выбрать:
<select id="lang" name="lang">
<option value="en" data-reactid=".1.$en">English</option>
<option value="es" data-reactid=".1.$es">Español</option>
<option value="it" data-reactid=".1.$it">Italiano</option>
<option value="sv" data-reactid=".1.$sv">Svenska</option>
</select>
2) языки передается JS и Ajax (post_language.js):
$(document).ready(function() {
$('#lang').change(function() {
var language_selection = $(this).val();
$.ajax({
type: 'POST',
url: '../includes/ajax/language_ajax.php',
data: {lang: language_selection},
success:function(data){
alert('This was sent back: ' + language_selection);
$('#lang').html(data);
},
error:function(msg){
console.log('error: '+msg);}
});
});
});
На данный момент сообщение ALERT отображается правильно, ОДНАКО, «lang» никогда не достигает $ _SESSION, эхом отозванного из url: language_ajax.php. На самом деле, url никогда не называется ajax.
3) language_ajax.php
if(isset($_POST['lang'])){
$lang = $_POST['lang'];
echo "Language " . $lang;
}
Я искал на форумах в течение нескольких часов без успеха. Все решения, похоже, не относятся к использованию «изменения» с помощью списка выбора.
Может ли кто-нибудь помочь? Благодарю.
Что ожидается результат? Текстовый узел 'data':' 'Язык". $ lang' недопустим дочерний элемент '
Где код сеанса? Вопрос не завершен – charlietfl
Не ставьте решение в вопрос. Если хотите, отправьте его как ответ. –