将数据从Ajax传输到php

时间:2015-10-13 12:48:41

标签: javascript php jquery ajax

我正在尝试将数据从ajax发送到php,但php并没有显示它。两个脚本都在同一个站点上:" testpage.php"。

的jQuery / AJAX:

<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
<script>
  $(document).ready(function() {
    $("#button").click(function() {

      var test = "bla";
      $.ajax({
        url: "testpage.php",
        type: "post",
        data: test,
        success: function (response) {
          alert("test ok");
        },
        error: function(jqXHR, textStatus, errorThrown) {
          console.log(textStatus, errorThrown);
        }
      });
    });
  });
</script>

PHP:              

      <?php
        if(isset($_POST["test"])) {
          $test2 = $_POST;
          echo $test2;
          echo "Test";
        }
      ?>

我没有看到PHP的结果

5 个答案:

答案 0 :(得分:0)

如果您要执行data: {test:sometext}请求,则需要使用POST

答案 1 :(得分:0)

PHP无法在帖子中看到值,因为您只在PHP正文中发送bla。您必须发送test=bla。但是jQuery可以通过发送data : { test : test }来自动完成。

$(document).ready(function() {
    $("#button").click(function() {

        var test = "bla";
        $.ajax({
            url: "testpage.php",
            type: "post",
            data: {
                test : test
            },
            success: function (response) {
                alert("test ok");
            },
            error: function(jqXHR, textStatus, errorThrown) {
                console.log(textStatus, errorThrown);
            }
        });
    });
});

答案 2 :(得分:0)

使用data: {test:test},&amp;提醒您的回复以查看结果。

success: function (response) {
   alert(response);
},

或只是append您对html的回复。

答案 3 :(得分:0)

您可以在$ .ajax();

中使用serialize()方法

类似的东西:

$.ajax({
    url: "testpage.php",
    type: "post",
    data: $("#myForm input").serialize(),
    success: function (response) {
      alert("test ok");
    },
    error: function(jqXHR, textStatus, errorThrown) {
      console.log(textStatus, errorThrown);
    }
  });

然后尝试按表单输入名称访问您的帖子数据。

答案 4 :(得分:-1)

    var data = {
        'test':  "bla",
    };

    $.ajax({
        type: "POST",
        url: "testpage.php",
        data: data,
        dataType: "json"
    }).done(function(response){
        console.log(response);
    }).fail(function(response){
        console.log(response);
    });