JS / jQuery将$ _POST信息传递给PHP脚本

时间:2015-06-25 15:58:24

标签: javascript php jquery

这可能是一件简单的事情,但是我花了太多时间试图让它无法正常工作。

基本上我有以下Bootstrap按钮:

<div class="bs-example">
    <div class="btn-group" data-toggle="buttons">
        <label title="This will display" class="btn btn-lg btn-info">
        <input type="radio" name="toDo" id="toDo" value="enableSSH"> Enable SSH
    </label>
    <label class="btn btn-lg btn-info">
        <input type="radio" name="toDo" id="toDo" value="migrateDB"> Migrate Database
    </label>
</div>

我在页面下方有以下按钮,我需要使用上面选择的值:

<button id="submit" class="btn btn-default" type="button">Go!</button>

单击该按钮时,它会触发以下jQuery函数:

$("#submit").click(function(){
    var buttonValue = $('#toDo').val();
    var phpfile = "submit.php";
    var data =  {'action': buttonValue};
    $.post(phpfile, data, function (response) {
        alert("Data has been submitted successfully);
    });
});

这应该将所选单选按钮的结果传递给这个PHP脚本:

<?php
if (isset($_POST['action'])) {
    switch ($_POST['action']) {
        case 'enableSSH':
            alert("enableSSH has been selected");
            break;
        case 'migrateDB':
            alert("migrateDB has been selected");
            break;
    }
}
?>

从jQuery函数提交数据的警报显示正确,但PHP脚本确认已通过的警报未显示。

很抱歉这篇冗长的帖子。请帮忙。

1 个答案:

答案 0 :(得分:3)

PHP中没有警报,它是一种无法提醒的服务器端语言。

解决方案是将某些内容返回给ajax调用

<?php

    if (isset($_POST['action'])) {
        switch ($_POST['action']) {
            case 'enableSSH':
                echo "enableSSH has been selected";
                break;
            case 'migrateDB':
                echo "migrateDB has been selected";
                break;
        }
    }

?>

并且您将其作为回复

$.post(phpfile, data, function (response) {
    alert("Data has been submitted successfully");
    alert(reponse); // alert it here instead
});