select 옵션을 사용하면 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'은 url : language_ajax.php에서 echo 된 $ _SESSION에 도달하지 않습니다. 사실, URL은 아약스에 의해 호출조차되지 않습니다.
3) 내가 더 성공을 몇 시간 동안 포럼을 검색
if(isset($_POST['lang'])){
$lang = $_POST['lang'];
echo "Language " . $lang;
}
을 language_ajax.php. 모든 솔루션은 선택 목록에서 '변경'사용에 적용되지 않는 것으로 보입니다.
아무도 도와 줄 수 있습니까? 감사.
예상되는 결과는 무엇입니까? 텍스트 노드'data' :''Language '. $ lang'은 (는) 유효하지 않은 자식 요소 인 '
세션 코드는 어디에 있습니까? 질문이 불완전하다 – charlietfl
질문에 해결책을 넣지 마십시오. 원한다면 답변으로 게시하십시오. –