2017-09-24 7 views
-2

私はちょうどPHP Ajaxで入力データを取得する簡単なプログラムを作成しました。 しかし、result.phpページから来ているResultが変数として必要です。jQueryでphp Ajaxの結果値を整える方法

<form method="post"> 
<input type="text"> 
<button id="btn-1"> 
</form> 
<div id="ajax-result"></div> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    <script> 
    $(document).ready(function(){ 
     $("#btn-1").click(function(){ 
      var txt = $("input").val(); 
      $.post("result.php", {suggest: txt}, function(result){ 
      $("#ajax-result").html(result); 
      }); 
     }); 
    }); 
    </script> 
+0

'someVariable = result;'?何を試してみましたか? – David

+0

あなたのPHPコードも共有してください。 – squiroid

+0

これはすでに 'result'という変数です。これはコールバック関数のローカル変数です。それをグローバル変数にしたい場合は、まずその変数をグローバルスコープで定義します: 'var myGlobalVar;'そして、それにコールバック関数の中にresultの値を代入します: 'myGlobalVar = result;' –

答えて

0

あなたはAJAX呼び出しの詳細な制御を持つことができますので、あなたが「結果」変数ではJavaScript 文字列になりたいかどうかを定義することができるように、私は$アヤックスではなく、$ .postを使用することをお勧めしまたはオブジェクトです。 jQueryのJavaScriptオブジェクトにそれを自動的に変換することができるように

<form method="post"> 
    <input type="text"> 
    <button id="btn-1"> 
</form> 
<div id="ajax-result"></div> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script> 
    $(document).ready(function(){ 

     // Define global variable to contain a copy of the AJAX return result 
     var globalResult; 

     function formatResultIntoHtml(result) { 
      // add logic to convert your result object into html string, and return 
     } 

     $("#btn-1").click(function(){ 
      var txt = $("input").val(); 

      $.ajax({ 
       url: "result.php", 
       data:{ 
        suggest: txt 
       }, 
       type: "POST", // Set HTML action type 
       dataType: "json", // Set expected data return type 
       success:function(result) { 
        globalResult = result; // Make result variable global 
        $("#ajax-result").html(formatResultIntoHtml(result)); // Format 
       } 
      }); 
     }); 
    }); 
</script> 

は、その後、あなたのresult.phpファイルで、JSON文字列をエコー。

<?php 

    // Add your logic to process $_GET['suggest'] here 

    $dataArray = array(
     'var1' => 'data1', 
     'var2' => 'data2', 
     'var3' => 'data3' 
    ); 

    header('Content-Type: application/json'); // Tells our client that we are sending JSON data 
    echo json_encode($dataArray); 
?> 
関連する問題