2017-08-04 5 views
0

私はすべての私のフォームを「送信」のときクリックこの後、ユーザーがそれを埋めることができますいくつかのフォームを持っている

「index.phpを」

というページがあります

<script src="js/jquery-3.2.1.js" type="text/javascript"></script> 
<script type="text/javascript"> 

$(document).ready(function() { 

    $('#button_final').hide(); 

    function enviar(arg1,arg2){ 

     document.getElementById('qtamostra').value = arg1; 
     $("#warning_alerta").hide(); 
     $("#input_vazio").hide(); 
     $("#login_erro").hide(); 

     var formData = new FormData($('#form_principal')[0]); 
     $("#loading").show(); 
     setTimeout(function() { 
      $.ajax({url: "/tkclientespdo/etiquetaslog/carrefour/cumbuca/download.php", 
       type: "post", 
       data: formData, 
       cache: false, 
       async:true, 
       contentType: false, 
       processData: false, 
       success: function(result){ 
        if(result == 1)//logado 
        { 
         //$("#hide").show(); 
         //$('#text_modal').html('Foi enviado 2 Etiquetas de Amostras'); 
         $('#modal-container-188642').modal(arg2); 
        } 
        else if (result == 3) 
        {    
         $('#modal-container-188642').modal(arg2); 
        } 
        else if (result == 300) 
        { 
         $("#login_sucesso").show(); 
         setTimeout(function(){ 
          window.location = "index.php";},3000); 
         } 
         $("#loading").hide(); 
        } 
       } 
      ) 
     },300); 
    }; 
</script> 
:その本は私がAJAX経由して、フォームを送信する方法である

"download.php"

と呼ばれる別のページにAJAXを経由して送ります"download.php"には

があります。ユーザーが "送信"をクリックするとタイムスタンプを返す変数があります。この後

$horaenviooff = date("dmYGis").'OFF'; 

、「download.php」に私は値で埋めるコード$_SESSION['user_job'] = $horaenviooffを、持っています。

この後、echo 3を次のように作成しました。$_SESSION['user_job'] = $horaenviooff;echo 3;

"index.php"では、$ _SESSION ['user_job']でモーダルを示していましたが、ページindex.phpをリロードすると$ _SESSION ['user_job']のみ表示されます。

たとえば、echo 3の後に、index.phpでdivを$ $ SESSION ['user_job']で表示できますか?

ありがとうございました。

答えて

0

Javascriptはクライアント側の技術であり、$ _SESSIONはサーバー上に存在するため、JavaScriptは直接変数$_SESSIONにアクセスできません。この問題を回避するには、次のような解決策があります。を$_SESSIONに書き込むだけでなく、呼び出し元のAJAX関数に送り返します。あなたは、例えば簡単に複数の値を転送し、アクセスするために、あなたの「download.php」リターンJSONを聞かせできます

$response = [ 
    'result' => 3, 
    'user_job' => $horaenviooff 
]; 
header('Content-Type: application/json'); 
echo json_encode($response); 

あなたは、その後のようなJavaScriptでレスポンスの値にアクセスすることができます

/*...*/ 
success: function(response){ 
    if(response.result == 3){ 
     alert(response.user_job); 
    } 
} 
/*...*/  
関連する問題