私のスクリプトはconsole.log(result)
の結果として[object Object]
を返しています。
誰かがid
からname
およびresult
をconsole.log
に返させる方法を説明できますか。
$.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.');
}
}
});
JSONを文字列形式で取得するには、console.log(JSON.stringify(result))
を使用します。
編集:あなたの意図が結果オブジェクトからidと他のプロパティを取得することであり、それがそこにあるかどうかを知るためにそれをコンソールに見たいなら、あなたはhasOwnProperty
でチェックし、もし存在すればプロパティにアクセスできます:
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
}
JSオブジェクトをJSON文字列に変換するためにJSON.stringify(result)
を追加してみてください。
あなたのコードから、 AJAXリクエストが失敗した の場合に呼び出されるerror
に結果が記録されていることがわかります。そのため、id/name/etcへのアクセス方法がわからないのです。それから(あなたはエラー状態の中で成功をチェックしています!).
Chromeのコンソールを使用している場合は、JSONを文字列化しなくてもオブジェクトを参照できるため、デバッグが簡単になります。