使用ajax将数据从javascript发送到PHP

时间:2014-06-20 07:57:27

标签: javascript php jquery

我刚尝试使用ajax将数据从javascript发送到php。这是show.html中的代码:

<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $("#post-button").on("click", function(){
        $.ajax({
                type: "POST",
                url: "get_test.php",
                data: {name: "John"}
            });
        })

    });
</script>

<body>
<input type="text" name="name"/>
<button name="post" id="post_button">Test Post</button>
</body>
</html>

和php代码:

<?php
if(isset($_POST['post_button'])){
    $name = $_POST['name'];
    print($name);
}

?>

我试图运行它,但没有变化,也没有错误。什么都没发生。 你能告诉我这个问题吗?而且我想从一个表格中获取数据,其中有一个文本字段。我会把按钮放在前面。如何使用javascript从该文本字段中获取数据?

4 个答案:

答案 0 :(得分:2)

使用序列化功能:

  function showValues() {
    var str = $( "form" ).serialize();
    $( "#results" ).text( str );
  }

答案 1 :(得分:1)

你不应该在函数中包装document.ready()事件,因为它很可能不会触发,也不会发生任何事情。您需要做的就是:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $("#post-button").on("click",function(){
        $.ajax({
            type: "POST",
            url: "get_test.php",
            data: {name: "John"}
        });
    });
});
</script>

<body>
<button name="post" id="post-button">Test Post</button>
</body>

答案 2 :(得分:0)

<强> HTML

<input type="text" name="name" id="somename"/>
<button name="post" onclick=post();>Test Post</button>
<div id="someid"></div>

<强>的javascript:

function post(){
    $.ajax({
        type: "POST",
        url: "get_test.php",
        data: {name: $("#somename").val()},
        success:function(data){
           $("#someid").html(data);//this will be the data returned from php
          //console.log(data);
        }
    });
}

答案 3 :(得分:0)

get_test.php 文件

<?php
    parse_str($_POST['data'], $data);
    if(isset($data['name'])){
     $name = $data['name'];
     print($name);
    }
 exit;
?>

请尝试使用此代码,这可能会对您有所帮助。