jquery classic asp возвращает HTML и количество записей / другие данные

#jquery #asp-classic

#jquery #asp-classic

Вопрос:

Использование Classic ASP для выполнения ajax-вызова jQuery на странице asp, которая возвращает HTML. Это работает нормально. Теперь я хотел бы вернуть не только HTML, но и некоторые числа, такие как recordcount, со страницы, которую я вызываю. Как мне это сделать?

Это мой вызов AJAX:

 function sendCcbRequest(text) {
var jsonToSend = { text: escape(text) };
var jsonToSend={ id: 1, lastname: escape(text) } ;

$.ajax({
    type: "POST",
    url: 'test-ajax-handler.asp',
    data: jsonToSend,
    success: function(response) {
        $('#output').append(response);
    },
    error: function() {
        alert("error");
    }
}); // end ajax
  

}

Страница, которую он вызывает, просто response.write выдает некоторый HTML. Я бы хотел, чтобы он также выдавал количество.

Ответ №1:

Вы могли бы заставить свою страницу ASP отправлять пользовательский HTTP-заголовок в ответе, например:

 XHR-Count: 5
  

с:

 Response.AddHeader "XHR-Count", "5"
  

а затем извлекает этот заголовок в success обратном вызове:

 $.ajax({
    type: "POST",
    url: 'test-ajax-handler.asp',
    data: jsonToSend,
    success: function(response, status, xhr) {
        var count = xhr.getResponseHeader('XHR-Count');
        alert(count);
        $('#output').append(response);
    },
    error: function() {
        alert("error");
    }
});
  

Ответ №2:

верните ваши данные в виде JSON, например:

  {"html":"<div>This is your HTML</div","count":3}


$.ajax({
    type: "POST",
    url: 'test-ajax-handler.asp',
    data: jsonToSend,
    dataType: "json",
    success: function(response) {
        $('#output').append(response.html);
        $('#count').html(response.count);
    },
    error: function() {
        alert("error");
    }
});