Javascript ajaxpost返回空数组

Javascript ajaxpost返回空数组,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我有一个非常简单的带有jquery函数的php页面 <script type="text/javascript"> $(document).ready(function() { $.ajax({ url: "test.php", type: "POST", data: { myvar: 1,

我有一个非常简单的带有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>

什么都没有发生。我应该转到test.php并查看var_转储。如果我有一个按钮并在单击时启动AJAX功能,它就会工作,但不是那样。。。不可能这样做吗?

我使用以下数据类型测试您的代码:

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']);
            }
        });
    });

因为在后端部分,您希望
$\u POST
最好使用

jQuery(函数($){
//你的目标
常数数据={
myvar:1,
福:“福”,
};
//从对象创建FormData
const FD=new FormData();
Object.entries(data.forEach(([prop,val])=>FD.append(prop,val));
$.ajax({
url:“test.php”,
类型:“POST”,
processData:false,//https://api.jquery.com/jquery.ajax/
data:FD,//在PHP中传递formData并使用$\u POST享受
成功:功能(结果){
console.log(“它工作”,结果);
}
});
});

您观察到的具体问题是什么?AJAX成功处理程序中的
result
变量包含什么?(我看不出您的代码在哪里观察到该值…)在浏览器的调试工具中,服务器具体返回了什么?应该是这样的。您是否在devtools的“网络”选项卡中查看此结果?@thbrun:您在何处/如何具体观察此结果?(代码从不引用
结果
,而只是将一个文本字符串记录到控制台。)我无法复制用所示代码描述的结果。@thbrun:关于更新的问题。。。“什么都没发生”有点不可能。有些事情发生了,只是观察一下发生了什么。浏览器的开发控制台上是否存在任何错误或警告?在浏览器的调试工具的“网络”选项卡上,是否发出了AJAX请求?如果是,服务器的响应是什么?如果没有,请使用浏览器的脚本调试器,在JavaScript代码的第一行上放置一个断点,然后重新加载页面,是否执行了该代码?将
错误
回调添加到
$.ajax()
,是否调用了该回调?“数据类型(默认值:智能猜测(xml、json、脚本或html))”来源:@RokoC.Buljan我不明白,如果不使用数据类型,则无法工作。为什么您认为它无法工作?jQuery一看到
{
由于
数据
值会将其视为JSONi可能怀疑的,Tbhwun没有在上的“网络”选项卡上查看它devtools@RokoC.Buljan我认为问题在于输出,事实上,由那些提出问题的人获取给定代码在本地测试它不起作用,而是使用数据类型它都起作用。
  $(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']);
            }
        });
    });