如何传递<输入>使用ajax加载到php的值

时间:2014-05-28 11:58:59

标签: php ajax

我正在尝试使用ajax_load加载php文件时将输入项的值传递给php。这是我到目前为止,但它不起作用。

html和jquery:

<tr>
    <td></td>
    <td>
        <button class="grey">Test Settings</button></td>
</tr>

<tr>
    <td></td>
    <td><div class="font-size-15 color-semi-black" id="result"></div></td>
</tr>
<input type="hidden" name="control" value="1"/>

<!--Test Settings-->
{literal}
    <script>
        $.ajaxSetup({
            cache: false
        });
        var ajax_load = "<img src='images/loaders/small-loader.gif' alt='loading...' />";
        var value = $("input[name='control']").val();
        //  load() functions
        var loadUrl = "demo/test_settings.php?val=" + value;
        $("button").click(function() {
            $("#result").html(ajax_load).load(loadUrl);
        });

    </script>
{/literal}    

PHP:

if ($val == '1'){

//process code here. 

}

它没有传递输入的值。有什么建议吗?

3 个答案:

答案 0 :(得分:2)

您的请求是GET,如下所示: -

/demo/test_settings.php?val=1&_=1401278450924

因此您需要$_GET上的test_settings.php获取您的价值

if ($_GET['val'] == '1'){

答案 1 :(得分:1)

$.load将数据作为参数传递给它。

$("button").click(function(){
    $("#result").html(ajax_load).load(loadUrl , {
         val : ...
    });
});

在你的php文件中:

if (isset($_REQUEST["val"]) && $_REQUEST["val"] == 1) {
    ...
}

如果传递一个对象,它将作为POST传递,否则它将作为GET传递。

答案 2 :(得分:0)

if (count($_GET) && $_GET['val'] == '1'){
}