gpt4 book ai didi

jquery - 多个 jQuery 帖子不起作用

转载 作者:行者123 更新时间:2023-12-01 05:37:26 25 4
gpt4 key购买 nike

问题:
在使用 jQuery 的 ASP.NET MVC 项目中, jQuery.post() 当我期望它总是返回数据时,函数很少返回数据。

问题:
为什么我的.post()函数很少激活成功回调函数 - 即使每个帖子返回状态代码 200 OK?

详细信息:我在 ASP.NET cshtml View 中定义了 10 个空跨度。在 html 中,每个跨度后面都有一个脚本,该脚本调用名为 ShowConstraints() 的 javascript 函数。 :

<div>
@for (int i = 0; i < 10; i++)
{
string tempID = "span" + i;
<span id="@tempID"></span>
<script>ShowConstraints("@tempID")</script><br />
}
</div>

对于每个span,生成的html看起来像这样,在调用脚本之前:

<div>
<span id="span0"></span>
<script>ShowConstraints("span0")</script><br>
...

ShowConstraints()功能如下:

function ShowConstraints(outputId) {
outputEl = "#" + outputId;
$(outputEl).html("Calculating info...");
$.post("/TestURL/TestPost", function (data) {
$(outputEl).html(data);
});
}

/TestURL/TestPost返回的值总是<span>Returned!</span> .

当跨度显示“计算信息...”时,我知道发布函数已成功调用。当跨度更改为显示“已返回!”时,我知道发帖成功。

但是,当仅运行一两个跨度时,会显示“已返回!”。其余显示“正在计算信息...”

作为附加信息,当我调试 JavaScript 并单步执行时,一切都按预期工作,并且所有跨度都显示“已返回!”。

非常感谢。

最佳答案

我真的不建议在 HTML 中执行这样的代码。这必然会导致不一致,尤其是使用多个 <script> 进行多次调用时。标签。

您应该在页面加载时从 JavaScript 代码的主要部分执行它,例如:

// On the page load
$(document).ready(function() {

// Get the spans that we want to loop through
$('span.mySpans').each(function(index, value) {

var outputId = $(this).attr('id');

ShowConstraints(outputId);

});
});

HTML 类似:

<span class="mySpans" id="span0"></span>
<span class="mySpans" id="span1"></span>
<span class="mySpans" id="span2"></span>
<span class="mySpans" id="span3"></span>

关于jquery - 多个 jQuery 帖子不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32972137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com