これをループして「名前」の値を取得しようとしています。これは私が現在持っているものですが、機能していないようです。ここに投稿されたものから他のいくつかを試しましたが、何も機能していないようです。
$.get("/get_names", {campaign_id: $('select[name="id"]').val()},
function(data){
$.each(data, function(i, item) {
alert(item);
});
}
);
返されるJSON:
[
{
"name":"age"
},
{
"name":"asdf"
},
{
"name":"drivername"
},
{
"name":"drivers"
},
{
"name":"firstname"
},
{
"name":"gender"
},
{
"name":"lastname"
},
{
"name":"make"
},
{
"name":"model"
},
{
"name":"vehicles"
},
{
"name":"year"
}
]
私は使用してみました:
item.name
item[i].name
助言がありますか?
ありがとうございました!
文字列をJSONとして解析する必要があります(data[0] == "["
は、data
が実際にオブジェクトではなく文字列であることを示しています)。
data = $.parseJSON(data);
$.each(data, function(i, item) {
alert(item);
});
.get()
メソッドから.getJSON()
メソッドに変更することもできます。jQueryはdata
として返された文字列をjavascriptオブジェクトや配列に解析します他のjavascriptオブジェクト/配列のように参照します。
上記のコードを使用して、_.get
_を_.getJSON
_に変更した場合、配列の各要素について_[object Object]
_のアラートを取得する必要があります。アラートをalert(item.name)
に変更した場合、名前が取得されます。
サーバーからjsonオブジェクトを返すとは思わない。ただの文字列。
戻りオブジェクトのdataTypeがjsonである必要があります