jQuery$.ajax在同一文件中发布到PHP不起作用

jQuery$.ajax在同一文件中发布到PHP不起作用,php,jquery,html,ajax,Php,Jquery,Html,Ajax,这是代码: <script> $( document ).ready(function() { $( ".button" ).click(function() { var clickBtnValue = $(this).val(); $.ajax({ //url: '', // url is empty because I'm working in the same file data: {'

这是代码:

<script>
$( document ).ready(function() {

    $( ".button" ).click(function() {

        var clickBtnValue = $(this).val();
        $.ajax({
            //url: '', // url is empty because I'm working in the same file
            data: {'action': clickBtnValue},
            type: 'post',
            success: function(result) {
            alert("action performed successfully"); //this alert is fired
            }

    });

});
});
</script>

<div>Button clicked:
<?php 
if (isset($_POST['action'])) {
    switch ($_POST['action']) {
        case 'insert':
            echo "select button!";
            break;
        case 'select':
            echo "insert button!";
            break;
    }
}
?>
</div>

<input type="submit" class="button" name="insert" value="insert" />
<input type="submit" class="button" name="select" value="select" />

$(文档).ready(函数(){
$(“.button”)。单击(函数(){
var clickBtnValue=$(this.val();
$.ajax({
//url:“”,//url为空,因为我在同一个文件中工作
数据:{'action':clickBtnValue},
键入:“post”,
成功:功能(结果){
警报(“操作已成功执行”);//此警报已触发
}
});
});
});
单击的按钮:

在inspector中,我可以看到一个发布的值,为什么
echo“insert button!”
echo“选择按钮!”不起作用?

必须更改javascript中div中的内容,就像处理alert()一样。 如果您正在处理同一个文件,PHP应该位于文件的开头

<?php 
if (isset($_POST['action'])) {
    switch ($_POST['action']) {
        case 'insert':
            echo "insert button!";
            break;
        case 'select':
            echo "select button!";
            break;
    }
    exit;
}
?>

<script>
$( document ).ready(function() {
    $( ".button" ).click(function() {
        var clickBtnValue = $(this).val();
        $.ajax({
            //url: '', // url is empty because I'm working in the same file
            data: {'action': clickBtnValue},
            type: 'post',
            success: function(result) {
                alert("action performed successfully"); //this alert is fired
                $('div#result').text('Button clicked: ' + result);
            }
        });
    });
});
</script>

<div id="result"></div>

<input type="submit" class="button" name="insert" value="insert" />
<input type="submit" class="button" name="select" value="select" />

$(文档).ready(函数(){
$(“.button”)。单击(函数(){
var clickBtnValue=$(this.val();
$.ajax({
//url:“”,//url为空,因为我在同一个文件中工作
数据:{'action':clickBtnValue},
键入:“post”,
成功:功能(结果){
警报(“操作已成功执行”);//此警报已触发
$('div#result').text('点击按钮:'+结果');
}
});
});
});

必须更改javascript中div中的内容,就像处理alert()一样。 如果您正在处理同一个文件,PHP应该位于文件的开头

<?php 
if (isset($_POST['action'])) {
    switch ($_POST['action']) {
        case 'insert':
            echo "insert button!";
            break;
        case 'select':
            echo "select button!";
            break;
    }
    exit;
}
?>

<script>
$( document ).ready(function() {
    $( ".button" ).click(function() {
        var clickBtnValue = $(this).val();
        $.ajax({
            //url: '', // url is empty because I'm working in the same file
            data: {'action': clickBtnValue},
            type: 'post',
            success: function(result) {
                alert("action performed successfully"); //this alert is fired
                $('div#result').text('Button clicked: ' + result);
            }
        });
    });
});
</script>

<div id="result"></div>

<input type="submit" class="button" name="insert" value="insert" />
<input type="submit" class="button" name="select" value="select" />

$(文档).ready(函数(){
$(“.button”)。单击(函数(){
var clickBtnValue=$(this.val();
$.ajax({
//url:“”,//url为空,因为我在同一个文件中工作
数据:{action:clickBtnValue},
键入:“post”,
成功:功能(结果){
警报(“操作已成功执行”);//此警报已触发
$('div#result').text('点击按钮:'+结果');
}
});
});
});

操作的值是否取决于ajax响应?因为您正在触发一个ajax请求,所以不会设置
$\u POST
。为什么会在div中显示任何内容?你的成功函数除了发出警报外什么都不做。
alert
函数不会修改DOM以向div添加内容。为什么您认为它不起作用?操作的值取决于ajax响应吗?因为您正在触发一个ajax请求,所以不会设置
$\u POST
。为什么会在div中显示任何内容?你的成功函数除了发出警报外什么都不做。
alert
函数不会修改DOM以将内容添加到div中。为什么认为它不起作用?没关系,但可以使用echo“插入按钮!”;或回显“选择按钮!”;A不起作用,只是试了一下,效果很好。当你点击按钮时:1。javascript发送post请求2。PHP检查post操作并回显响应(“选择按钮!”或“插入按钮!”)3。javascript接收到响应并将其放入div中,它应该正在工作是的,它正在工作,谢谢,只是
结果
包含html代码!身体…选择按钮!这就是为什么必须将PHP放在文件的顶部,并添加exit(),以便不处理文件的其余部分;或回显“选择按钮!”;A不起作用,只是试了一下,效果很好。当你点击按钮时:1。javascript发送post请求2。PHP检查post操作并回显响应(“选择按钮!”或“插入按钮!”)3。javascript接收到响应并将其放入div中,它应该正在工作是的,它正在工作,谢谢,只是
结果
包含html代码!身体…选择按钮!这就是为什么必须将PHP放在文件的顶部,并添加exit(),以便不处理文件的其余部分。