我没有成功使用 Ajax (Jquery) 传递信息(对象)

I don't succeed in passing information (object) using Ajax (Jquery)

我目前正在努力将信息从我的视图传递到 PHP 中的控制器(MVC 模型)。我正在使用 ajax 方法。

我想向控制器传递字符串或数组等信息:

            var dataToSend = [{ fieldname: 'ABC' }, { fieldname: 'DEF' }];
        dataToSend = JSON.stringify({ 'list': dataToSend });

        $(".application-accept").click(function(event){


            $.ajax({
                url: "/olad2/project/processapplication/1",
                type: "POST",
                data: dataToSend,
                datatype: "JSON",
                contentType: "application/json; charset=utf-8"
            }).done(function(response){
                console.log(response);
                console.log("done");
            }).fail(function(err){
                console.log(err.responseText);
                console.log("failed");


            });

        });

当我在控制器中回显结果时,我被错误地告知没有数组:

echo json_encode(var_dump($_POST));

其中显示 (console.log()):

<b>array</b> <i>(size=0)</i>

我知道有很多关于这个主题的话题,但是没有用。你能帮帮我吗?

ps: 这是我的第一个post

此审核版本有效:

$.ajax({
    url:"https://jsonplaceholder.typicode.com/users",
//  url: "/olad2/project/processapplication/1",
    method: "POST",
    data: JSON.stringify({list:[{ fieldname: 'ABC' }, { fieldname: 'DEF' }]}),
    datatype: "JSON",
    contentType: "application/json; charset=utf-8"
}).done(function (response) {
    console.log(response);
    console.log("done");
}).fail(function (err) {
    console.log(err.responseText);
    console.log("failed");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

但即使您的“几乎不变”版本也可以使用 typicode 目标地址:

var dataToSend = JSON.stringify({ 'list': [{ fieldname: 'ABC' }, { fieldname: 'DEF' }] });

$.ajax({
//  url: "/olad2/project/processapplication/1",
  url: "https://jsonplaceholder.typicode.com/users",
  type: "POST",
  data: dataToSend,
  datatype: "JSON",
  contentType: "application/json; charset=utf-8"
}).done(function(response) {
  console.log(response);
  console.log("done");
}).fail(function(err) {
  console.log(err.responseText);
  console.log("failed");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>