You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在jQuery中读取appsettings.json中的配置值?

在jQuery中获取appsettings.json配置并计算日期

首先要明确:前端无法直接读取服务器上的appsettings.json文件,必须通过后端将配置值传递到前端。下面提供两种常用的实现方案:

方案1:后端API接口传递配置

第一步:后端编写接口(以ASP.NET Core为例)

创建一个API控制器,暴露订阅天数的接口:

[ApiController]
[Route("api/settings")]
public class SettingsController : ControllerBase
{
    private readonly IConfiguration _config;

    public SettingsController(IConfiguration config)
    {
        _config = config;
    }

    [HttpGet("subscription-days")]
    public IActionResult GetSubscriptionDays()
    {
        var days = _config.GetValue<int>("SubscriptionDuration:subscriptionDays");
        return Ok(new { subscriptionDays = days });
    }
}

第二步:前端jQuery请求接口并计算日期

// 请求后端接口获取配置
$.getJSON("/api/settings/subscription-days", function(res) {
    const subscriptionDays = res.subscriptionDays;
    // 计算结束日期
    const startDate = new Date();
    const endDate = new Date(startDate);
    endDate.setDate(startDate.getDate() + subscriptionDays);
    
    // 格式化日期为YYYY-MM-DD格式
    const formattedEndDate = endDate.toISOString().split('T')[0];
    // 将结果赋值给页面元素(示例)
    $("#endDate").val(formattedEndDate);
})
.fail(function() {
    // 请求失败时使用默认值365
    const startDate = new Date();
    const endDate = new Date(startDate);
    endDate.setDate(startDate.getDate() + 365);
    $("#endDate").val(endDate.toISOString().split('T')[0]);
    console.warn("获取配置失败,使用默认天数365");
});

方案2:服务器渲染时注入全局变量(适合Razor页面)

如果你的页面是服务器端渲染(比如ASP.NET Core Razor视图),可以直接把配置注入到前端全局变量,无需AJAX请求:

第一步:在Razor视图中注入配置

<script>
    // 将后端配置注入到前端全局变量
    window.appConfig = {
        subscriptionDays: @Json.Serialize(Configuration.GetValue<int>("SubscriptionDuration:subscriptionDays"))
    };
</script>

第二步:前端直接使用配置计算日期

// 从全局变量获取配置值
const subscriptionDays = window.appConfig.subscriptionDays;
const startDate = new Date();
const endDate = new Date(startDate);
endDate.setDate(startDate.getDate() + subscriptionDays);

const formattedEndDate = endDate.toISOString().split('T')[0];
$("#endDate").val(formattedEndDate);

内容的提问来源于stack exchange,提问作者Paul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 17:37:01