2011-04-22 27 views
31

Hata ayıklamayı denedim ama sorun yaşıyorum. Şimdi alert() ile çalışıyorum. Bunu sadece bana [object Object] verir alert(product) derkenBir nesneyi bir uyarı ile nasıl görüntüleyebilirim()

var product = { ProductName: $('!Answer_Response[0]').val(), 
        UnitPrice: $('#Price').val(), 
        Stock: $('#Stock').val() 
       }; 

: Mesela ben değerini görmek istiyorum. Gerçekten orada ne olduğunu göstermek için nasıl uyarıda bulunabilirim?

+1

: güzel bir şekilde görselleştirmek için, gibi kullanabilirsiniz.log (ürün), bu, nesnenizi firefox'daki firebug gibi tarayıcı geliştirici araçlarında gösterecektir. –

+0

olası bir kopyası [Bir JavaScript nesnesini nasıl görüntüleyebilirim?] (Http://stackoverflow.com/questions/957537/how-can-i-display-a-javascript-object) –

cevap

61

:

+0

Size gerçek değerleri vermeyecek olan – KooiInc

+0

@KooiInc Ne demek istiyorsun? Bu benim için iyi çalıştı. – spiel

+4

@spiel: Javascript Object Notation kullanarak * string gösterimi * verir. Bu burada yeterli olabilir, ancak örnek yöntemler (işlevler) içeriyorsa, görüntülenmeyeceklerdir. – KooiInc

0
alert (product.UnitName + " " + product.UnitPrice + " " + product.Stock) 

veya başka nesne üzerinde bir toString() yöntemini oluşturmak ve çağrı

alert(product.toString()) 

Ama diğer posterleri ile anlaşmak zorunda - daha sonra gidiyoruz ayıklama ise firebug veya F12 üzerinde IE9 veya krom ve kullanma console.log hata ayıklama, Firebug gibi bir araç yükleyip kullanırken kolayca nesnelerin içeriğini görüntülemek istiyorsanız

4

gitmek yoludur console.log:

console.log(product); 

sen kendini nesne özelliklerini görüntülemek için, değil alert nesne, ama özellikleri: Eğer gerçekten JavaScript hata ayıklama artırmak istiyorsanız

alert(product.ProductName); 
alert(product.UnitPrice); 
// etc... (or combine them) 

olarak kullanımı söyledi Firebug addon ile Firefox. Kodunuzu daha önce nasıl ayıkladığınızı merak edeceksiniz.

function alertObject(obj){ 
var result = []; 
function traverse(obj){ 
for (var l in obj){ 
    if (obj.hasOwnProperty(l)){ 
    if (obj[l] instanceof Object){ 
     result.push(l+'=>[object]'); 
     traverse(obj[l]); 
    } else { 
     result.push(l+': '+obj[l]); 
    } 
    } 
    } 
} 
traverse(obj); 
return result; 
} 
+0

Teşekkürler. Şimdi firebug ekledim. Konsol çıkışı iyidir, ancak daha fazlasını yapabilir miyim? Koddan geçebilir miyim veya javascript'i görebilir miyim? – Melova1985

+0

@Melova yapabilirsin. Firebug dokümanlarını okuyun, çünkü burada tartışmak için çok geniş bir konu. –

+0

Teşekkürler. Bunu yapacağım. İyi günler. – Melova1985

2

Bu kullandığım budur. Sonra sadece console.debug(product); yapabilir ve nesneyi inceleyebilirsiniz. Eğer modern tarayıcılarda bulunan ve json2.js tarafından sağlanan JSON.stringify() yöntemi kullanabilirsiniz

alert(product.ProductName); 
alert(product.UnitPrice); 
alert(product.Stock); 
2

Gerçekten hata ayıklama için Firebug'ın veya WebKit'in konsolunu kullanmalısınız: Eğer özyinelemeli şey kullanabilirsiniz,

var result = []; 
for (var l in someObject){ 
    if (someObject.hasOwnProperty(l){ 
    result.push(l+': '+someObject[l]); 
    } 
} 
alert(result.join('\n')); 

çok iç içe nesneleri göstermek istiyorsanız:

0
alert(JSON.stringify(product)); 
11

bu

alert(product.toSource()); 
+1

teşekkürler. sadece neye ihtiyacım var –

+2

Chrome'da değil, FF üzerinde çalışıyor. Bunun yerine JSON.stringify kullanın. – JalalJaberi

0

Kullanım JavaScript yerli JSON.stringify yöntemle gibi toSource yöntemi kullanabilirsiniz:

var myObj = {"myProp":"Hello"}; 
alert (JSON.stringify(myObj)); // alerts {"myProp":"Hello"}; 

veya

de bu kütüphaneyi kontrol edin. Eğer herhangi bir nesne kullanımı konsolu kontrol etmek istiyorsanız JSON.stringify(obj,null, 4)

var obj = {data:[{"empmenuid":"1","empid":null,"deptid":"66","aliasid":"66","firstname":"66","lastname":"66","sin":"66","status":"66","empclass":"66","hiredate":"66","seneoritydate":"66","separationdate":"66"},{"empmenuid":"3","empid":null,"deptid":"12","aliasid":"12","firstname":"12","lastname":"12","sin":"12","status":"12","empclass":"12","hiredate":"12","seneoritydate":"12","separationdate":"12","recalldate":"12","martialstatus":"12","gender":"12","pager":"12","locid":"12","jobtitle":"12","jobtitlestart":"12","fullpart":"12","manager":"12","managername":"12","middlename":"12","nickname":"12","paytype":"12","payfreq":"12"}], 
 
recordType : 'object'}; 
 

 
alert(JSON.stringify(obj,null, 4));

İlgili konular