有没有办法在不使用表单的情况下使用POST方法将内容从一个页面传递到另一个页面.
就像在get中你可以随意附加一个?你想发送的内容.你能为帖子做点什么吗?
我还读了另一个说使用会话的线程.但是会话作为cookie保存在用户计算机上,并且cookie是不安全的.
那么有没有其他方法可以做到这一点?喜欢在第一页中描述某些内容然后将其传递到第二页.
如果有人能解释我POST方法如何工作也会很好?它是如何传递数据的?
你应该使用jQuery.你可以使用ajax()它的功能.请访问以下链接,并阅读功能列表中的完整说明以帮助您.但是这里仍然是一个示例代码---
HTML CODE ::::::::
<hmtl>
<head>
<script type="http://code.jquery.com/jquery-1.5.1.min.js"></script>
</head>
<body>
<div class="my-fake-form">
<input id="posting-value-1" type="text" />
<a id="submit-form-link" href="#submit">Submit this Div!</a>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
AJAX CODE ::::::::
function fake_form_submit ()
{
var post = $('input#posting-value-1').val();
$.ajax({
'url': 'your-php-file.php',
'type': 'POST',
'dataType': 'json',
'data': {post: post},
'success': function(data)
{
if(data.finish)
{
$("div.my-fake-form").attr("innerHTML","Form Submited!");
}
else
{
$("div.my-fake-form").attr("innerHTML","Form Not Submited!");
}
},
beforeSend: function()
{
$(document).ready(function () {
$("div.my-fake-form").attr("innerHTML","Loading....");
});
},
'error': function(data)
{
$(document).ready(function () {
$("div.my-fake-form").attr("innerHTML","ERROR OCCURRED!");
});
}
});
}
$(document).ready(function () {
$('a#submit-form-link').click(function (e) {
e.preventDefault();
fake_form_submit();
});
});
Run Code Online (Sandbox Code Playgroud)
PHP代码::::::
<?php
$post = $_POST['post'];
//Do Something with the value!
//On Succes return json encode array!
echo json_encode(array("finish" => true));
?>
Run Code Online (Sandbox Code Playgroud)
链接::::::
只需使用会话.
cookie中会话的存储由上面的答案指示,限于会话的ID.如果您有安全意识,Cookie甚至可以配置为仅作为HTTP-cookies发送.
在请求页面上,设置所需的会话键值对.在请求的页面上请求先前设置的会话密钥(检查它是否存在).在您的php.ini中,您可以选择将会话cookie用作仅HTTP,这样您就可以获得更高的安全性.
此外:发布数据可以像使用AJAX或cURL一样简单,如上所述.