我有一个非常简单的带有jquery函数的php页面
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
url: "test.php",
type: "POST",
data: {
myvar: 1,
},
success: function(result) {
console.log("it works");
}
});
});
</script>
我的AJAX函数应该在文档准备好后立即触发。 我的test.php只显示了我的$_post
。
<?php
var_dump($_POST);
die();
什么都没发生。 我应该转到test.php并查看var_dump。 如果我有一个按钮并点击启动AJAX函数,它就能工作,但不是那样的。。。 不可能这样做吗?
因为在后端部分,您期望$_post
,您所能做的最好的工作是使用$_post
FormData API
jQuery(function($) {
// Your object
const data = {
myvar: 1,
foo: "foo",
};
// Create FormData from Object
const FD = new FormData();
Object.entries(data).forEach(([prop, val]) => FD.append(prop, val));
$.ajax({
url: "test.php",
type: "POST",
processData: false, // https://api.jquery.com/jquery.ajax/
data: FD, // pass the formData and enjoy with $_POST in PHP
success: function(result) {
console.log("it works", result);
}
});
});
我测试代码使用如下数据类型:
ajax页面:
$(document).ready(function() {
$.ajax({
url: "test.php",
type: "POST",
dataType: 'json', //add that line
data: {
myvar: 1,
},
success: function(result) {
console.log(result);
console.log(result['name']);
}
});
});