2010-05-04 24 views
0

我正在使用jQuery的asp.net mvc ...我做了一個json調用一個控制器方法,它爲我返回json對象[Object object]。我不想說,而不是我想要得到的JSON字符串...任何建議...這是否是一個有效的getJSON()在jQuery中?

$(document).ready(function() { 
     $.getJSON('Materials/GetMaterials', null, function(data) { 
      alert(data); 
     }); 
    }); 

我給alert(data.d);,這是undefined

public JsonResult GetMaterials() 
    { 
     var materials = consRepository.FindAllMaterials().AsQueryable(); 
     return Json(materials); 
    } 

回答

0

的getJSON會返回一個JSON對象。如果這不是你想要的,你就不應該使用它。您可以改爲使用$ .ajax,並將內容類型設置爲text/plain,您將以字符串形式接收數據。然而,我不能看到任何你想用字符串代替對象的理由。

您可以選擇使用json2庫中的JSON.stringify方法將對象轉換爲字符串。

+0

@Mattias好吧,我怎麼能遍歷JSON對象...考慮含'UserName'和'EmailId' ....我想重複這些對象與'​​data.Username'和'​​data.EmailId 10rows ' – 2010-05-04 06:49:06

+0

@Mattias這可能嗎? – 2010-05-04 06:49:31

+0

@Pandiya Chendur,當然這是可能的。你可以使用JavaScript中的for循環。 jQuery有一個遍歷集合的每個方法。 – 2010-05-04 06:53:05

1

就找到了答案,

$(document).ready(function() { 
     $.getJSON('Materials/GetMaterials', null, function(data) { 

     $.each(data , function(index,d) { 
      alert(d.Id) 
     }); 

     }); 
    }); 
0

嘗試使用的console.log(+使用螢火蟲或網頁檢查)而不是警報()。您將能夠展開返回的json對象的結構並確定如何訪問您之後的數據。

+0

@Ben我得到了答案... – 2010-05-04 06:59:35