-1

I am trying to append php to a div using

<script>
var values = {var1: 2, var2:"Hello"};
    $('#id').append($.get("phpfile.php", values));
</script>

However it doesnt seem to append the basic echo in the php file

<?php
$var1 = $_GET['var1'];
$var2 = $_GET['var2'];
echo "var1= " . $var1 . " " . "var2= " . $var2; 
?>

any help would be appreciated.

4

2 に答える 2

4

Ajax 呼び出しは非同期です。これは、リクエストがまだ実行されていないため、$.get()関数の戻り値がリクエストの結果ではないことを意味します。$.get()リクエストが成功したときに呼び出される呼び出しの成功ハンドラーを使用するか、関数によって返される jQuery 遅延オブジェクト (プロミス) を使用する必要があります$.get

正しい構文 #1:

<script>
    var values = {var1: 2, var2:"Hello"};
    $.get("phpfile.php", values, function(data) {
        $('#id').append(data);
    });
</script>

promisesを使用した代替構文は次のとおりです。

<script>
    var values = {var1: 2, var2:"Hello"};
    $.get("phpfile.php", values).done(function(data) {
        $('#id').append(data);
    });
</script>
于 2013-03-14T00:08:44.703 に答える
0

これを使用して、jQuery

<script>
    $.get("phpfile.php", { 'var1': 1, 'var2' : 2},
        function(data){ $('#id').append(data); }, "json");
    });
</script>

php

<?php    
    $var1 = $_GET['var1'];
    $var2 = $_GET['var2'];
    $data = "var1= " . $var1 . " " . "var2= " . $var2;

    echo json_encode($data);
    exit;
?>
于 2013-03-14T00:12:38.883 に答える