如何更改 $(document).ready (function) 以加载特殊标记以便将变量传递给 js 函数

How to change $(document).ready (function) to onload special tag in order to pass variable to js function

它们中的每一个都应该在页面加载时显示来自数据库的值。所以我写了三个 $(document).ready(function) 和三个 GET 控制器值的输入。我知道它们 运行 并行也许很好,但我想看看我是否只编写了一个函数(将其设计为线性)并将输入值传递给 GET 方法,我是否获得了更高的性能。

我更改下面的代码:

$(document).ready(function () {
    $.ajax({
        url: '/Home/GetData',
        data: { id: 1 },
        type: 'GET',
        contentType: 'application/json; charset=utf-8',
        success: function (result) {
            $('#result1').html(result);
        }
    });
});

function bringData(statusId) {
    $.ajax({
        url: '/Home/GetData',
        data: { id: statusId },
        type: 'GET',
        contentType: 'application/json; charset=utf-8',
        success: function (result) {
            $('#result1').html(result);
        }
    });
};  

在我看来,我使用 onload="bringData(0)" 如下所示:

      <div class="inner">
            <h3 ><span id="result1"  onload="bringData(0)"></span><sup 
            style="font-size: 20px"></sup></h3>
            <p>Commited Orders</p>
        </div>

但是当我 运行 代码时它没有显示值?

onload 不是 global attribute 你不能把它贴在任何元素上并期望它起作用。

您应该做的是从就绪函数中调用 bringData

$(document).ready(function () {
    bringData(0);
});

function bringData(statusId) {
    $.ajax({
        url: '/Home/GetData',
        data: { id: statusId },
        type: 'GET',
        contentType: 'application/json; charset=utf-8',
        success: function (result) {
            $('#result1').html(result);
        }
    });
};

如果您坚持使用 onload 属性,那么它应该在 <body> 标签上

<body onload="bringData(0)">
    ...
</body>