在index.php中获取值来自Ajax

时间:2015-11-21 21:36:43

标签: php jquery ajax

我想通过发送带有$ .ajax()的.js页面来获取php页面的价值;但我无法获得价值。我的错误在哪里?

这是我的functions.js

$(document).ready(function(){

    $(".yeni_problem").click(function(){
        var uid = 1;
        $.ajax({
            url: 'admin.php',
            type: "post",
            data: {'uid': uid},
                success: function(data){
                    // $("#cvb").text(data);
                },

            statusCode: {
            404: function(){
            alert("admin.php not found");       
            }
        }       

        });

    }); 
});

这是我的php页面,我控制在这里发送值。

The Codes is large but i write small form. Which that when i run the small codes on other folders as other site it does't work. 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>HELPDESK</title>
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="css/css.css">
    <link rel="stylesheet" href="css/default.css">
    <link rel="stylesheet" href="css/animate.css">
    <link rel="stylesheet" href="css/icon.css">

</head>
<body>


<button class="yeni_problem">Yeni Problem</button>

<?php
if(isset($_POST['uid'])){
    echo "Value:".$_POST['uid'];
}else{
    echo "<hr>Value not found<br/>";
}

var_dump($_POST);

?>



<script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="js.js"></script>
    <script type="text/javascript" src="functions.js"></script>
    <script type="text/javascript" src="bootstrap.min.js"></script>
<?php
echo "</body>
    </html>";
?>

当我点击“.yeni_problem”课程时,我无法获得价值。

2 个答案:

答案 0 :(得分:5)

1 - 检查你是否包括Jquery

第二 - 如果不检查其路径,请确保admin.php页面与您调用functions.js的文件在同一目录中

3 - 你传递uid而不是数据,所以在php中使用

<?php
if(isset($_POST['uid'])){
    echo "Value:".$_POST['uid'];
}else{
    echo "Value not found";
}
?>

第4:如果你用class="yeni_problem"动态生成元素,那么使用

$('body').on('click',".yeni_problem", function(){

而不是

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

第五:如果yeni_problem是提交按钮或锚点,那么您需要使用 e.preventDefault(); 来阻止重新加载页面

$(".yeni_problem").click(function(e){
    e.preventDefault();
    // rest of code here

第6期:如果yeni_problem是表单,请使用 .submit()

$(".yeni_problem").submit(function(e){
        e.preventDefault();
        // rest of code here

答案 1 :(得分:0)

注意你的代码:在JS片段中,传递给服务器的参数是&#34; uid&#34;,这意味着你的服务器将获得一个标有&#位置的$_POST数组34; UID&#34;

<?php
    if(isset($_POST["uid"])){
        echo "Value:".$_POST["uid"];
    }else{
        echo "Value not found";
    }
?>

您还应该检查$_POST变量中的内容,插入var_dump($_POST)并注释掉其余代码。