2010-06-01 78 views
0

我有以下的jQuery的AJAX调用设置:帮助使用jQuery的Ajax调用ASMX返回字符串

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服务代码中放置了一个断点,它确实受到了打击,但是当我离开该方法时,无论如何我都会返回return语句。

有人可以给我一些关于如何正确配置ajax调用的提示,因为我觉得我做错了。 webservice只需要返回一个字符串,不涉及XML或JSON。

干杯。 Jas。

回答

1

只是用于调试试试这个:

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

使用萤火虫或HTML督察控制台查看输出。另外,Firebug或HTML Inspector可以为您提供其他线索,解决问题。您可以检查返回的结果以查看是否存在HTTP错误。

+0

+ 1我刚刚在FireFox中运行该页面(以测试您使用Firebug的想法),并且Ajax调用正常工作。所以我认为这可能是一个IE问题 - 只是在IE中再次尝试页面(没有VS调试)和Ajax调用。嗯,也许是一个红鲱鱼,因为它可能是VS导致的问题。我会密切关注这一点,但感谢上述提示。 – 2010-06-01 09:56:03