3

javascript から ajax 経由で別の PHP ページに変数を渡しています。私はそれをすることができません。これは私がこれまでに持っているコードです。

<script>
function loadXMLDoc()
        {
        $.ajax({
                    type: "POST",
                    url: "update.php",
                    data: { value : masterdata },
                    success: function(data)
                    {
                        alert("success!");
                    }
                }); 

}
$("button").on('click',function(){ loadXMLDoc(); });
</script>

masterdata変数は、以下の関数のように、変数をグローバルに宣言した別の JavaScript 関数から取得されます

<script>

    var masterdata;      
    $("[data-slider]")

       .each(function () {
           var range;
            var input = $(this);
            $("<span>").addClass("output")
                .insertAfter(input);
            range = input.data("slider-range").split(",");
            $("<span>").addClass("range")
                .html(range[0])
                .insertBefore(input);
            $("<span>").addClass("range")
                .html(range[1])
                .insertAfter(input);
        })
        .bind("slider:ready slider:changed", function (event, data) {
            $(this).nextAll(".output:first")
                .html(data.value.toFixed(2));
                masterdata = data.value;

        });


</script>

私のupdate.phpファイルでは、$_REQUESTを使用して変数にアクセスしようとしています。コードは以下の通りです。

<?php

    $uid = $_REQUEST['value'];
    echo "Am I getting printed";
    echo $uid;
    // Do whatever you want with the $uid
?>

ただし、更新ボタンをクリックしても何も起こりません。ajax 呼び出しが成功したというアラートが表示されます。誰かが私を助けてくれますか?

4

2 に答える 2

0

スクリプトから取得した出力を JSON エンコードupdate.phpし、AJAX 関数に戻すことをお勧めします。update.phpファイルでは、単純に PHP 関数json_encode($var)を使用してエコーすることができます。

<?php
    $uid = $_REQUEST['value'];
    echo json_encode($uid);
?>

AJAX 関数から、以下を指定する必要がありますdataType(通常、JS は返されるデータのタイプをインテリジェントに推測しますが、念のため常に指定する必要があります)。

function loadXMLDoc() {
    $.ajax({
        type: "POST",
        url: "update.php",
        data: { value : masterdata },
        dataType: "json",
        success: function(data) {
           // Log data into console for reference (and checking, perhaps)
           console.log(data);

           // Parse data here
        }
    }); 
}
于 2013-10-12T19:50:40.993 に答える