[Solved] Gọi function PHP bằng button để không redirect page

PHPStorm bị bug gì đấy, copy ra folder localhost chạy ngon ơ, mất nguyên 1 ngày, đúng là cuộc đời :slight_smile:

Chào mọi người,
Em muốn tạo 2 button là insert và select, mỗi button sẽ gọi một function PHP khác nhau và khi click button thì không bị redirect sang page PHP.
Đây là code của em và câu hỏi trong phần comment của code, mong mọi người giúp đỡ ạ :frowning:
button.html

<input type='submit' class='btn' name='online' value="online" />
<input type='submit' class='btn' name='usb' value="usb" />
<div id ="resp"></div>
<script type="text/javascript">
$(document).ready(function(){
    $(".btn").click(function() {
        var btnValue = $(this).val();

        $.ajax({
            type: 'POST',
            url: 'test.php',
            data: {btnValue : btnValue},
            success: function(data)
            {
                $("#resp").html(data);
                alert(btnValue); //Vẫn hiển thị đúng value của button mình vừa click
            }
        });
    });
});
</script>

test.php

<?php
function select() {
    echo "The select function is called.";
    exit;
}

function insert() {
    echo "The insert function is called.";
    exit;
}
if (isset($_POST['btnValue'])) {
    switch ($_POST['btnValue']) {
        case 'online':
            insert();
            break;
        case 'usb':
            select();
            break;
    }
}
var_dump($_POST);
echo $_POST; 
// Chỉ hiển thị array(0) { } Array, không phải value của button
//Chứng tỏ PHP chưa nhận được giá trị từ html ???

?>

Đơn giản, mở firebug lên, xem phần params btnValue nó truyền qua cái gì.

bạn kiểm tra thử url của file js xem

File ajax

$(document).ready(function(){
	$('#btn').click(function(){
		$.ajax({
			url:'xuly.php',
			type:'post',
			dataType:'text',
			data:{
				action:"hello"
			},
			success:function(result){
				$('.message').html(result);
			}
		});
	})
});
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?