ответ jquery добавить html

#jquery

#jquery

Вопрос:

когда я публикую данные ajax, а затем отвечаю на предупреждение, он добавляет к нему html

 369<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

    <title>
...
....
  

Я просто хочу 369 оттуда … как бы мне это сделать .. Мне не нужен полный html
спасибо

РЕДАКТИРОВАТЬ где я должен здесь указать тип данных?

 var data = {

                'data[id]'      :    $j('#Id').val(),

                };                                                           


        $j.post('/controller/update', data, function(response){  
              alert(response)

}  
  

Комментарии:

1. как выглядит страница, для которой вы публикуете

2. Вероятно, это добавлено CMS / фреймворком, используемым для доставки страниц, требуется дополнительная информация…

3. Проблема в том, что вы выводите свои данные непосредственно в контроллере, а не в представлении, которое, вероятно, использует какой-либо шаблон HTML по умолчанию.

Ответ №1:

Он не должен этого делать … возможно, на странице, на которую вы вызываете ajax, произошла ошибка, из-за которой появляется дополнительный html … какой именно html, который вы получаете, нежелателен?

Можете ли вы опубликовать javascript, который вы используете для выполнения ajax-вызова, и весь ответ, который вы получаете от ajax-вызова?

Комментарии:

1. я думаю, что он обрабатывает и рисует данные в html-файле и отправляет их обратно, либо он может удалить все содержимое .. или изменить тип ответа.

2. на странице произошла ошибка, и, следовательно, возвращался полный html

Ответ №2:

Сделайте свой ajax-ответ только Json или xml

Не возвращайте html-файл или html-тип. Перейти либо на Json, либо на XML

и это должно сработать

Дополнительная документация здесь

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

пример

 $.ajax({
    type: "GET",
    url: "localhost/getsomepage.aspx",
    dataType: "xml",
    success: function(xml) {

    }
});
  

Комментарии:

1. @auto , переведите ответ вашего сервера в xml и укажите ajax, что он возвращает xml… и это должно просто сработать.

2. Это не будет определять, как сервер должен отвечать. Это только скажет, что ответ должен быть того типа, который вы запрашиваете…

3. @Capsue , вы должны позаботиться об ответе на стороне сервера, он может отвечать json, xml или чистым текстом…

4. @kobe конечно, но в этом случае вывод HTML нежелателен, и установка типа данных ничего не решит.

5. @Capsule , да, это верно, установка типа данных просто сообщает ajax head, что ответ возвращается в xml, если он получает что-либо другое, кроме сбоя.. это использование типа данных там.

Ответ №3:

Явно задайте тип данных в вызове ajax:

 $.ajax({ url: 'myurl.php', dataType: 'text', success: function(data) {console.log(data)} });
  

Комментарии:

1. Ну и что? Если myurl.php возвращает HTML, он, несомненно, будет обработан как текст, но он не будет волшебным образом удалять мусор.

2. @capsule , как я уже говорил, вы можете использовать .aspx или php, или wcf, или jsp для получения ответов, но обязанность back отправлять правильный ответ.