2016-12-26 30 views
8

Scriptim, console.log(result) sonucu [object Object] döndürüyor.console.log (sonuç), [object Object] öğesini döndürür. Result.name nasıl alabilirim?

Birisi, console.log'un id ve name numaralarını result'dan nasıl döndüreceğini açıklayabilir mi?

$.ajaxSetup({ traditional: true }); 

var uri = ""; 

$("#enginesOuputWaiter").show();  
$.ajax({ 
    type: "GET", 
    url: uri, 
    dataType: "jsonp", 
    ContentType:'application/javascript', 
    data :{'text' : article}, 
    error: function(result) { 
     $("#enginesOuputWaiter").hide(); 
     if(result.statusText = 'success') { 
      console.log("ok"); 
      console.log(result); 
     } else { 
      $("#enginesOuput").text('Invalid query.'); 
     } 
    } 
}); 
+0

Ayrıştırmayı denediniz mi? Nesne nesnesi, nesnenin gerçekte nasıl göründüğü değil, yalnızca bir dizgi temsilidir. – Carcigenicate

+0

Bu webservice JSONP değil JSONP döndürmek gibi görünüyor, bu yüzden 'dataType 'değiştirmeniz gerekir. Bu muhtemelen ** 'error' ** işleyicinizin neden başarılı bir sonuç elde edemeyeceğinizi de belirtti. – Bergi

+0

Yanıtınızda BOM sembolünüz var: http://joxi.ru/vAWVVbh1k34N2W bu yüzden php kodunuzu temizleyin gereksiz utf8 kodlamasını temizleme BOM'lar – num8er

cevap

20

JSON'u bir dize biçiminde almak için console.log(JSON.stringify(result)) kullanın.

DÜZENLEME: niyetinizi sonuç nesnesinden id ve diğer özellikleri elde etmektir ve eğer var o onun orada o zaman hasOwnProperty ile kontrol edip özelliğine erişebilir olmadığını bilmek teselli görmek istiyorsanız:

var obj = {id : "007", name : "James Bond"}; 
console.log(obj);     // Object { id: "007", name: "James Bond" } 
console.log(JSON.stringify(obj)); //{"id":"007","name":"James Bond"} 
if (obj.hasOwnProperty("id")){ 
    console.log(obj.id);    //007 
} 
4

JS Nesnesini bir JSON dizesine dönüştürmek için JSON.stringify(result) eklemeyi deneyin.

Kodunuzdan, AJAX request fails olarak adlandırılan error sonucunu günlüğe kaydettiğinizi görebiliyorum, bu yüzden nasıl id/name/etc adresine erişeceğiniz konusunda emin değilim. sonra (hata durumu içinde başarı için kontrol ediyorsun!).

Chrome konsolunu kullanırsanız, JSON'u dizgilemek zorunda kalmadan nesneye göz atmanız gerektiğini unutmayın; bu da hata ayıklamayı kolaylaştırır.