POST方法不显示,但GET方法

时间:2016-10-11 03:08:22

标签: javascript php ajax post

我的POST方法没有显示在网页上,但我的GET方法即使我没有在我的global.js中创建一个方法。 GET方法是否附带POST?我希望我的POST不显示GET。我怎么做?我知道我的POST工作是因为在网络中(在带控制台的浏览器中),POST方法就在那里,预览打印出$_POST和{{1 }}。如何使$_SESSION显示在页面上而不是POST

Button.php

GET

storage.php

<!doctype html>
<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">                </script>
    <script src ="global.js"></script>
    <title>Button POST</title>
  </head>
  <body>
       <button id ="postbutton" onclick="location.href='storage.php'">GO</button><br>
  </body>
</html>

global.js

<?php
print_r($_POST);
if(isset($_POST['json'])){
  $_SESSION['object'] = $_POST["json"]; 
  print_r($_SESSION);
  echo 'True';
}else {
  echo 'False';
}

2 个答案:

答案 0 :(得分:1)

你的GET方法很有效,因为你使用location.href方法进行onclick。它总是会用GET方法重定向,所以它可以显示你的输出!但要使用POST method in ajax,您需要删除onclick方法并将返回数据附加到body元素。

<强> Button.php

<!doctype html>
  <html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">                </script>
    <script src ="global.js"></script>
    <title>Button POST</title>
  </head>
  <body>
       <button id ="postbutton">GO</button><br>
  </body>
</html>

<强> global.js

var oject = [{name:'John', age:17},{name:'James', age:22}];
var json = JSON.stringify(oject);


$(document).ready(function(){
  $('#postbutton').click(function(){
    $('#output').html('sending..');
      var jobject = JSON.stringify(oject);
      console.log(jobject);
      $.ajax({
        method:'post',
        url:'storage.php',
        data:{json:oject},
      })
      .done(function(data){
       $("body").append(data);
    });
  });
});

答案 1 :(得分:0)

为什么在按钮中出现onclick,您同时拨打$.ajax()

<button id ="postbutton" onclick="location.href='storage.php'">GO</button><br>

如果您想使用$.ajax(),则无需onclick。如果符合条件,您可以致电location.href indside done(function(data) {}),并且您希望将用户重定向到其他地方。