gpt4 book ai didi

javascript - 为什么我得到变量未声明

转载 作者:行者123 更新时间:2023-12-03 02:55:46 25 4
gpt4 key购买 nike

我的部分观点如下......

@Model.ServerDetails
<div>
..... various markup
</div>
<script type="text/javascript">
var bs = '@Model.BackupServer';
if (bs == null) {
bs = "";
}
var bssn = bs + '|' + '@Model.ServerName';

$(document).ready( function() {
if (bs != "") {
$getJSON('@UrlContent("~/Details/OtherBackedUpServers?bsn=" + bssn)', function(returnedServers) {
..... removed for brevity...
}
}
});

不幸的是,$getJSON() 参数中的bssn 显示错误:“bssn”未声明。由于其保护级别,它可能无法访问。

有人可以解释一下为什么以及如何纠正它吗?

谢谢

最佳答案

您无法将 JavaScript(客户端)变量传递给 Url.Action,因为它是在服务器端处理的。

作为解决方法,您可以使用占位符生成 url。然后使用.replace()方法生成实际的url。

var url = '@Url.Action("OtherBackedUpServers", "Details", new { bsn= -1})';
url = url .replace('-1', bssn);
$.getJSON(url );
<小时/>

或者,最好将变量作为有效负载传递

$.getJSON('@Url.Action("OtherBackedUpServers", "Details")', { bsn : -1});

关于javascript - 为什么我得到变量未声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47634390/

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