检查从函数返回结果

时间:2011-01-27 19:30:06

标签: jquery

我的函数'GetResultById'返回true或false。如何检查JQuery中函数的返回结果?我试图隐藏和显示RadComboBox取决于结果。  这是我的代码。另外我想在页面加载时隐藏RadComboBox。我把combo.hideDropDown()放在Init函数中,但它似乎没有工作。请告诉我。

        $.ajax({
            url: applicationPath + "/test/Test.svc/GetResultById",
            type: "POST",
            dataType: "json",
            data: '{"sId":' + sender.get_value() + '}',
            contentType: "application/json; charset=utf-8",
            success: function(result)
             {
                  if(result == true)
                  {
                     combo.hideDropdown();
                  }
             }           

4 个答案:

答案 0 :(得分:0)

我不确定,但我认为结果不会作为一个boolian而是作为一个字符串传递。因此你必须检查结果==“true”......

答案 1 :(得分:0)

如果在异步模式下使用任何ajax函数,则不会返回根据咨询结果调用函数的值,因为调用是异步的。

显示和隐藏可以使用jQuery.ajax事件的内容:

beforeSend 完成(或“错误”和“成功”)

Documentation of jQuery.ajax

答案 2 :(得分:0)

最好是使用Firebug进行调试。很可能你在服务器上使用的JSON序列化框架不直接输出布尔值,而是作为对象的字段输出。

答案 3 :(得分:0)

在ASP和AJAX调用中使用服务时,我相信结果总是在“d”属性中传回。也就是说,对AJAX成功的回调将在result.d属性中产生“实际”结果,而不仅仅是result

e.g。

success: function(result){
  alert(result.d); // actual return result
}

(或者它可能是“.d”,我老实说现在忘了,但无论哪种方式“结果”单独(我不相信)都有结果)

更新

它显示I was right关于逻辑,而不是属性。 result.d将获得您的退货结果。