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

ASP.NET应用中AJAX请求指向错误主机的问题求助

解决ASP.NET AJAX请求404错误的方法

你的问题出在请求地址的两个核心错误:端口不匹配和缺少/api前缀,而其他请求能正常运行说明项目里有统一的地址配置逻辑,你可以按以下方式解决:

  • 复用项目内置的基础地址变量
    ASP.NET项目通常会在页面全局注入API基础地址(一般在布局页_Layout.cshtml中定义),比如类似这样的全局变量:

    var apiBaseUrl = '@Url.Content("~/api")';
    // 或者包含完整主机信息的版本:
    var fullApiBaseUrl = '@string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~/api"))';
    

    直接在你的AJAX代码里用这个变量拼接路径即可,示例:

    $.ajax({
            url: fullApiBaseUrl + "/foo/bar",
            type: "POST",
            data: JSON.stringify(data),
            contentType: "application/json; charset=utf-8",
            processData: false
        }).done(function (data) {
        }).fail(function (jqXHR, textStatus) {
        });
    

    如果找不到这个变量,直接参考项目里其他正常AJAX请求的写法,它们肯定复用了类似的全局变量或封装函数。

  • 检查项目的AJAX全局配置
    部分项目会通过$.ajaxSetup统一配置请求的基础地址,比如:

    $.ajaxSetup({
        baseUrl: "https://localhost:44360/api/"
    });
    

    这种情况下你只需要保持url: "/foo/bar"即可,但如果你的环境没配置这个全局项,就需要手动补上完整前缀。

  • 临时手动修正地址(不推荐长期使用)
    如果找不到统一配置逻辑,临时解决可以直接写完整的正确请求地址:

    url: "https://localhost:44360/api/foo/bar"
    

    注意:这种硬编码方式在切换环境(如测试、生产)时会失效,优先建议用项目的统一配置方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 00:22:08