#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 отправлять правильный ответ.