Как извлечь объекты из метода $ .get в jQuery? - PullRequest
0 голосов
/ 14 апреля 2011

Я пытаюсь вернуть отдельные объекты из обратного вызова, используя метод $ .get jQuery.

Я могу легко отобразить весь обратный вызов, но не могу выбрать отдельные объекты из метода

Вот мой код:

<script>
    $.get("http://domain.com/marketplace/api/v0/random_business_json/?callback=mycallback",
    function(data){
        $('.result').html(data);
    });
</script>

Вот обратный вызов, который возвращается в моем браузере:

mycallback([{"pk": 6484, "model": "business.business", "fields": {"point": "POINT (-122.5447999999999951 45.7806700000000006)", "fax": "360-687-3148", "validated": true, "meta_description": null, "city": "Battle Ground", "mailing_zip_code": null, "mailing_address2": null, "state": "WA", "mailing_address1": null, "extension2": null, "extension1": null, "hours_text": "Opens Thursday\n at 8:30 a.m.", "latitude": "45.780670", "thumbnail": null, "zip_code": "98604", "website": "", "suggested_type": "", "description": "", "phone2": "", "address1": "713 West Main Street", "address2": "Suite 101", "phone1": "687-3149", "default_hours": null, "nickname": "", "slug": "boyd-james-m", "categories": [1218, 1227], "additional_hours_info": "", "business_type": 6, "name": "Boyd, Gaffney, Sowards, Mc Cray, Treosti, PLLC", "created": "2010-05-12 22:52:38", "safe_description": "", "notes": "Owner: STEVEN SOWARDS\n\nCONTACT_NAME: STEVEN SOWARDS\nTITLE_DESC: \n", "pre_name": "", "modified": "2010-05-12 22:52:48", "longitude": "-122.544800", "email": "", "mailing_state": null, "mailing_city": null}}])

Я хочу быть в состоянии вытащить кусочки, такие как ПК, поля, CT и т.д ...

Я попытался заменить $ ('. Result'). Html (data); на $ ('. Result'). Html (data.pk); , чтобы проверить, что-то подобное сработало бы, но безуспешно.

Буду признателен за любую помощь.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 14 апреля 2011

Параметр data для вашего успешного обратного вызова является объектом, если ответом является JSON.Попытка разобрать его как HTML не имеет смысла:

function(data) {
    alert("pk = " + data[0].pk);
}
0 голосов
/ 14 апреля 2011

jQuery.getJSON() имеет поддержку JSONP.Это может быть то, что вы ищете.

Используйте ?callback=? в URL вместо ?callback=mycallback, чтобы заставить его работать.

http://api.jquery.com/jQuery.getJSON/

0 голосов
/ 14 апреля 2011

попробуй $('.result').html(data[0].pk);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...