AJAX
とjavascript
が初めてです。私のプロジェクトでは、json
ファイルでjavascript
オブジェクトを取得する必要があります。 spray-json
を使用しましたが、URLにjsonオブジェクトが表示されます。 http://localhost:8081/all-modules
{
"status": "S1000",
"description": "Success",
"results": ["module1", "module2", "module3"]
}
私のAjax呼び出し
$.ajax({
url: 'http://localhost:8081/all-modules',
dataType: 'application/json',
complete: function(data){
alert(data)
},
success: function(data){
alert(data)
}
警告[object Object]
を返します。ここの問題は何ですか?
以下を試してください。
var data = '{"name": "John","age": 30}';
var json = JSON.parse(data);
alert(json["name"]);
alert(json.name);
次のリンクも確認できます。 JavaScriptでJSONオブジェクトにアクセスする方法
JSONオブジェクトのすべてのデータを表示する場合は、JSON.stringify
を使用します。詳細については here を参照してください
お役に立てば幸いです。
console.log(data)だけで、オブジェクトが表示されます。
このような方法であなたの価値にアクセスできます
data.id //will give you id
jsonの作成方法にも依存します。これについては、説明を参照してください。
// if it simply json then access it directly
//Example => {"id":1,"value":"Apple"}
data.id; // will give you 1
// if it json array then you need to iterate over array and then get value.
//Example => [{"id":1,"value":"Apple"},{"id":2,"value":"MANGO"}] then
data[0].id; // will give you 1
あなたのコードは次のようになります
$.ajax({
url: 'http://localhost:8081/all-modules',
dataType: 'application/json',
complete: function(data){
alert(data.status);// S1000
alert(data.description);// Success
// for results you have to iterate because it is an array
var len = data.results.length;
for(var i=0;i<len;i++ ){
alert(data.results[i]);
}
},
success: function(data){
alert(data)
}
})
data
はJSON形式ではなく、 Javascript Object です。 jQuery.parseJSONのような関数を使用する必要はもうありません。
これは初心者にとってよくある間違いです。
このJavascriptオブジェクトを表示する場合は、alert(JSON.stringify(data));
を試してください
console.log()を試してください。コンソールにログオンします。アラートはオブジェクトを表示しません。
$.ajax({
url: 'http://localhost:8081/all-modules',
dataType: 'application/json',
complete: function(data){
console.log(data)
},
success: function(data){
console.log(data)
}
オブジェクトを印刷しているだけだと思います。このようなことを試してください
$.ajax({
url: 'http://localhost:8081/all-modules',
dataType: 'application/json',
complete: function(data){
alert("status = "+data.status+"descripttion"+data.description);
},
success: function(data){
alert("status = "+data.status+"descripttion"+data.description);
}
_data[0].status;
_を試してください。データはオブジェクトになりました。 console.log(data)
でそれを見ることができます