代码之家  ›  专栏  ›  技术社区  ›  Jason Evans

帮助jquery ajax调用返回字符串的asmx

  •  0
  • Jason Evans  · 技术社区  · 14 年前

    我有以下jquery ajax调用设置:

    function Testing() {
        var result = '';
    
        $.ajax({
                url: 'BookingUtils.asmx/GetNonBookableSlots',
                dataType: 'text',
                error: function(error) {
                       alert('GetNonBookableSlots Error');
                },
                success: function(data) {
                    alert('GetNonBookableSlots');
                     result = data;
                }
                 });
    
          return result;
    }
    

    下面是我要调用的Web服务:

    [WebMethod]
        public string GetNonBookableSlots()
        {
            return "fhsdfuhsiufhsd";            
        }
    

    当我运行jquery代码时,没有触发错误或成功事件(没有调用任何警报)。事实上,什么都没有发生,JavaScript代码只是在结束时继续返回语句。

    我在Web服务代码中放置了一个断点,它确实会受到攻击,但是当我离开这个方法时,我还是会在返回语句中结束。

    有人能给我一些关于如何正确配置Ajax调用的提示吗,因为我觉得这样做是错误的。WebService只需要返回一个字符串,不涉及XML或JSON。

    干杯。 JAS。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Martin    14 年前

    仅用于调试,请尝试以下操作:

    $.post('BookingUtils.asmx/GetNonBookableSlots', function(data) {
        console.log(data);
    }, 'text);
    

    使用Firebug或HTML检查器控制台查看输出。此外,Firebug或HTML检查器还可以为您提供问题所在的其他线索。您可以检查返回的结果以查看是否存在HTTP错误。