0

我有一个包含各种 docId 的列表。当要提交信息时,将调用一个 JQuery 函数,然后收集所有列表值。然后,我需要通过 Ajax 将这些列表值发送到经典 ASP 页面,在该页面中对这些值进行格式化,然后将其发送回原始页面,然后填充文本区域。这是我的 JQuery 代码:

$("#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]

我的表单方法当前设置为 POST。我使用提交按钮还是使用传统按钮来触发该功能是否重要?

4

2 回答 2

1

因为您将响应包装在其中$,它变成了 and object。如果您的 ASP 页面返回一些内容,则删除该行即可。

而且我相信您可能希望通过调用 thtepreventDefault方法来停止按钮单击的默认行为

$(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);
            }
       });
   });

});
于 2012-05-24T18:57:08.837 回答
1

的结果$(result)是一个 jQuery 结果对象。当您尝试将其设置为 时.val(),JavaScript 引擎会将其序列化为[object Object].

所以问题是,result应该包含什么?是文字吗?JSON?HTML?该问题的答案将推动注入它的正确方法。

如果它只是一个字符串,那么应该这样做:

$("#scratch").val(result);
于 2012-05-24T18:57:29.623 回答