2012-05-24 2 views
0

У меня есть список, который содержит различные docIds. Когда информация должна быть отправлена, вызывается функция JQuery, которая затем собирает все значения списка. Затем мне нужно, чтобы эти значения списка отправлялись через Ajax на классическую страницу ASP, где значения будут отформатированы, а затем отправлены обратно на исходную страницу, чтобы затем заполнить текстовую область. Вот мой JQuery код:Отправить переменную от JQuery Ajax до ASP и обратно

$("#create").click(function() { 

    var strDocIDs = $.map($('.doc_list:visible').find('li[value]'), function(li) { return $(li).attr("value") }).join(","); 
    alert(strDocIDs); 

    $.ajax({ 
      type: "GET", 
      url: "newslettercreate_action.asp", 
      data: { strDocIDS: strDocIDs }, 
      success: function(result) { 
       var newsletter_string = $(result); 
       $("#scratch").val(newsletter_string); 
       } 
     }); 
}); 

И мой код ASP:

result = Request("strDocIDs") 

Информация, которую я получаю вернулся в мой текстовое поле является:

[object Object] 

Мой метод формы в настоящее время установлен ПОСЛЕ. И будет ли это иметь значение между моим использованием кнопки отправки и традиционной кнопкой для запуска функции?

ответ

1

Потому что вы обертываете ответ в $, и оно становится и object. Удалите эту строку, и она будет работать. Если ваша страница ASP возвращает некоторый контент.

И я уверен, что вы можете остановить поведение по умолчанию кнопки мыши, вызвав thte preventDefault метод

$(function(){ 

    $("#create").click(function(e) { 
     e.preventDefault(); 

     var strDocIDs = $.map($('.doc_list:visible').find('li[value]'), function(li) { return $(li).attr("value") }).join(","); 
     alert(strDocIDs); 

     $.ajax({ 
      type: "GET", 
      url: "newslettercreate_action.asp", 
      data: { strDocIDS: strDocIDs }, 
      success: function(result) {    
       $("#scratch").val(result); 
      } 
     }); 
    }); 

}); 
+0

Это, похоже, получил меня на шаг ближе, но по какой-то причине значение, которое возвращается не стоимость strDocIDs, но, как представляется, быть одним включенным файлом на странице ASP. Это меня насторожило. – Yuschick

+2

@Yuschick Используйте firebug, чтобы узнать, какое значение возвращается с ASP-страницы. – Shyju

+0

Похоже, что правильная информация передается, но «Ответ» в соответствии с Firebug является включенным файлом, который я вижу, который представляет собой много CSS и некоторые другой информации JS. Так странно! – Yuschick

1

Результат $(result) является результатом объект JQuery. Когда вы пытаетесь установить это с помощью .val(), механизм JavaScript сериализует его как [object Object].

Вопрос в том, что должно содержать result? Это текст? JSON? HTML? Ответ на этот вопрос будет правильным путем для его внедрения.

Если это просто строка, то это следует сделать это:

$("#scratch").val(result); 
Смежные вопросы