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

如何为项目中的FullCalendar指定VB.Net Web服务的路径?

解决FullCalendar调用VB.NET Web服务的路径问题

嘿,我来帮你搞定这个路径问题~ 浏览器默认会以当前页面所在的/Admin/MaintainTimeboxes/目录为基准去找Web服务,而你的Web服务代码虽然存在/App_Code/,但对外提供访问的.asmx文件(这才是前端要请求的入口)大概率在项目根目录,所以直接用相对路径肯定会找不到。下面给你几种靠谱的解决办法:

一、先确认Web服务的实际访问地址

首先得搞清楚你的Web服务对外能访问的URL是什么:

  1. 找到你项目里的.asmx文件(比如TimeboxService.asmx,它的后台代码在/App_Code/里)
  2. 直接在浏览器地址栏输入http://你的网站域名/TimeboxService.asmx,如果能看到Web服务的说明页面,那这个/TimeboxService.asmx就是根路径下的访问地址,后面加上你的方法名(比如/GetEvents)就是FullCalendar要请求的完整路径。

二、给FullCalendar配置正确的路径

根据你的FullCalendar代码,修改events或者eventSources里的URL就行,推荐两种方式:

1. 根相对路径(最推荐,不怕目录结构变化)

路径以/开头,直接从网站根目录开始找,不管当前页面在哪个子目录都能精准定位:

$('#calendar').fullCalendar({
    events: '/TimeboxService.asmx/GetEvents', // 替换成你的Web服务方法名
    // 其他配置项...
});

2. 多级相对路径(适合临时测试,不推荐长期用)

如果你的Web服务在根目录,当前页面在/Admin/MaintainTimeboxes/,需要往上跳两级目录才能到根:

$('#calendar').fullCalendar({
    events: '../../TimeboxService.asmx/GetEvents',
    // 其他配置项...
});

这种方式的缺点是如果以后页面目录结构变了,路径就得跟着改,不如根路径省心。

三、额外注意Web服务的响应格式

光路径对了还不够,得确保Web服务返回的是FullCalendar能识别的JSON格式,给你补个VB.NET Web服务的示例:

Imports System.Web.Services
Imports System.Web.Script.Services

<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ScriptService()> _ ' 必须加这个,允许AJAX访问
Public Class TimeboxService
    Inherits System.Web.Services.WebService

    <WebMethod()> _
    <ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _ ' 指定返回JSON
    Public Function GetEvents() As List(Of CalendarEvent)
        ' 这里写你拉取Event对象的逻辑
        Dim eventList As New List(Of CalendarEvent)()
        eventList.Add(New CalendarEvent With {
            .id = 1,
            .title = "项目评审会",
            .start = "2024-05-25T09:00:00",
            .end = "2024-05-25T11:00:00"
        })
        Return eventList
    End Function

    ' 定义符合FullCalendar要求的事件类
    Public Class CalendarEvent
        Public Property id As Integer
        Public Property title As String
        Public Property start As String
        Public Property [end] As String
        ' 还可以加color、allDay等属性
    End Class
End Class

四、调试小技巧

如果还是报错,打开浏览器F12的「Network」标签,看FullCalendar发送的请求URL是不是正确,有没有返回404错误。要是404,肯定是路径写错了,调整下就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:49:21