2010-07-23 97 views
-1

基本上我有一个getjson调用来调用大量的数据。现在我厌倦了如果数据是空的其他检查的数量。如何将“getjson”功能从一个func带到另一个func?

例如:

 if (data.Height == "") { 
      $('#DataHeight').html('No Data is Available'); 
     } 
     else { 
      $('#DataHeight').html(data.Height); 
     } 

原因是是用户必须被尽快提醒数据不可用。

所以我走了,试图写一个DataCheck.js包含和处理我的漂亮的小页面外的所有这些:D。

功能:

function DataNullCheck(ObjectName) { 
    if (data.ObjectName == "") { 
     $('"#Data' + ObjectName + '"').html('No Datablurgh'); 
    } 
    else { 
    $('"#Data' + ObjectName + '"').html(data.ObjectName); 
    } 
} 

并把它叫我的功能

function getdata() { 
    $.ajaxSetup({ 
     cache: false 
    }); 
    $.getJSON(urldefault, function (data) { 
     DataNullCheck('Height'); 
    ....... 

内,数据是不确定的。因为它不在JSON调用中? 任何帮助或暗示朝着正确的方向将受到赞赏,特别是解释为什么它以某种方式工作。提前致谢。

我将如何通过getJson调用功能来执行我的小功能?

+0

naikus给你正确的答案。另外,我相信你想要使用data [ObjectName],它会在你的例子中返回data.Height。 (目前它会从数据返回“ObjectName”属性,我认为这是未定义的)。 – 2010-07-23 03:48:25

+0

是的,谢谢你:D – Sphvn 2010-07-23 03:51:31

回答

2

传递数据作为参数传递给你的函数:

function DataNullCheck(data, ObjectName) { // you can check for null any property of data 
              // e.g. DataNullcheck(data, "Width"), or 
              // DataNullCheck(data, "Height") etc. 
if (!data[ObjectName]) { 
    $('"#Data' + ObjectName + '"').html('No Datablurgh'); 
} 
else { 
$('"#Data' + ObjectName + '"').html(data.ObjectName); 
} 
} 
+0

eugh拍打额头。 – Sphvn 2010-07-23 03:46:51

+0

非常感谢 – Sphvn 2010-07-23 03:59:26

+0

@Thqr不客气 – naikus 2010-07-23 04:09:51