Используя jQuery ajax данные ответа

Я использую сообщение ajax и получаю данные в форме HTML. Я должен разделить данные и части места данных на всем протяжении страницы. Я создал свои данные ответа, чтобы быть чем-то как <p id='greeting'> Hello there and Welcome </p> <p id='something'>First timer visiting our site eh'</p> Это немного более сложно и динамично, но я могу понять это, если ответили на этот вопрос.Спасибо

$.ajax({
            type:'POST',
            url: 'confirm.php',
            data: "really=yes&sure=yes",
            success:function(data){
                    //Need to split data here
            }
        });
10
задан Theopile 13 June 2010 в 04:20
поделиться

2 ответа

Update:

success:function(data) {
    data = $('<div/>').append(data);
    $('#greeting',data).appendTo('#one')
    $('#something',data).appendTo('#two')
}

Поскольку вы не можете использовать .find должным образом, так как это не дочерний элемент, но если вы добавите его к пустому узлу, то сможете. Другой альтернативой может быть использование .filter

$.ajax({
            type:'POST',
            url: 'confirm.php',
            data: "really=yes&sure=yes",
            success:function(data){
                    $('#greeting',data).appendTo('#one')
                    $('#something',data).appendTo('#two')
            }
        });

Вы можете извлечь из data и добавить туда, куда вам нужно. Вы также можете сделать что-то вроде возврата JSON вместо этого, и вместо извлечения html из html просто получить доступ к html из объекта.

$(data.greeting).appendTo('#one')
$(data.something).appendTo('#two')

Ответ должен быть таким:

({ 'greeting':'html', 'something' :'other html' })
6
ответ дан 4 December 2019 в 04:01
поделиться

(Ответ Медера будет работать, если вы хорошо знакомы с JSON, но регулярные выражения, вероятно, немного проще и подойдут для этого.)

Вероятно, вам придется расстаться текст ответа с использованием регулярных выражений. Например, если текст ответа:

<p id='greeting'> Hello there and Welcome </p>
<p id='something'>First timer visiting our site eh'</p>

Тогда вы можете использовать некоторый JavaScript вроде этого:

var greeting = response_text.match(/<p id='greeting'>.*</p>/);
var something = response_text.match(/<p id='something'>.*</p>);

(Этот сайт отлично подходит для изучения регулярных выражений: http://gskinner.com/RegExr/ )

-2
ответ дан 4 December 2019 в 04:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: