13

私は と が初めて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]。ここでの問題は何ですか?

4

7 に答える 7

4

JSON オブジェクト内のすべてのデータを表示する場合は、[詳細についてはこちらJSON.stringifyを 参照] を使用してください

それが役立つことを願っています。

于 2014-03-06T07:20:45.007 に答える
3

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)
    }
})
于 2014-03-06T07:17:43.987 に答える
0

試してみてくださいdata[0].status;。あなたのデータは現在オブジェクトにあります。あなたはそれconsole.log(data)を見ることができます

于 2014-05-07T08:26:04.640 に答える
0

オブジェクトを印刷しているだけだと思います。このようなものを試してください

$.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);
    }
于 2014-03-06T10:43:40.630 に答える
0

console.log() を試してください。コンソールにログオンします。アラートはオブジェクトを表示しません。

 $.ajax({
    url: 'http://localhost:8081/all-modules',
    dataType: 'application/json',
    complete: function(data){
        console.log(data)
    },
    success: function(data){
        console.log(data)
    }
于 2014-03-06T07:17:33.653 に答える
0

dataはもはや JSON 形式ではなく、Javascript Objectです。jQuery.parseJSON のような関数を使用する必要はなくなりました。

初心者にありがちなミスです。

このJavascriptオブジェクトを見たい場合は、試してくださいalert(JSON.stringify(data));

于 2014-03-06T07:23:38.683 に答える