我如何发布jQuery数据并在不通过URL作为变量(例如test.php?data=xxx
)传递的情况下,在同一文件上接收。
例如,这是我可以在控制台日志中看到的response.data。
function (response) {
console.log(response.data);
},
我想发布该数据并在同一文件上接收。我尝试了以下方法:
function (response) {
//console.log(response.data);
$.post(window.location.href, {json_data: response.data});
},
但是当我在同一文件的正文中打印时
print_r($_POST);
它不显示任何内容。
最佳答案
确保response.data为Type:PlainObject或String。在PlainObjects上查看更多信息
更新
Here is a video that describes what this code sample does.
代码样例
<?php
if (empty($_POST)) :
?>
Nothing was posted, please click there \/<br><br>
<?php
else :
echo 'You posted: '.print_r($_POST['json_data'], 1).'<br><br>';
endif;
?>
<a href="javascript:" onclick="fake_simple_response('simple string');">click here (simple string)</a><br>
<a href="javascript:" onclick="fake_simple_response({cat:'meow', dog:'woof'});">click here (plain object)</a>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script>
function fake_simple_response (response) {
console.log(response);
$.post(window.location.href, {json_data: response});
}
</script>