我的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';
}
答案 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) {})
,并且您希望将用户重定向到其他地方。