2016-06-05 3 views
-1

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. 모든 솔루션은 선택 목록에서 '변경'사용에 적용되지 않는 것으로 보입니다.

아무도 도와 줄 수 있습니까? 감사.

+0

예상되는 결과는 무엇입니까? 텍스트 노드'data' :''Language '. $ lang'은 (는) 유효하지 않은 자식 요소 인 ''요소의 유효한 하위 요소가 아닌 텍스트이므로 기존의 '