Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jquery循环我的JSP响应_Javascript_Jsp - Fatal编程技术网

Javascript 如何使用jquery循环我的JSP响应

Javascript 如何使用jquery循环我的JSP响应,javascript,jsp,Javascript,Jsp,jquery看起来像这样 $.post('JSP/processForm.jsp', $("#Form").serialize(), function(data){ //I want to iterate through every line in the data object returned here. }); 我搜索并尝试: $.each($(data), function(key, value) { alert(va

jquery看起来像这样

    $.post('JSP/processForm.jsp', $("#Form").serialize(),
          function(data){
          //I want to iterate through every line in the data object returned here.

   });
我搜索并尝试:

$.each($(data), function(key, value) {
      alert(value);
});
但这并不奏效。我理解需要首先将响应编码到jQuery对象中

$(data)
但我似乎无法找到一种方法来遍历每一行。jsp代码很简单:

out.println("Test");
out.println("Test Email");
out.println("Test CellPhone");
out.println("305-777-5587");
需要注意的几点:

  • 您的jsp可能会被呈现并返回一个表明其为html内容的标题。您(有些武断地)决定每一行新的文本代表一个新的数据段
  • jQuery每个文档都显示它只在集合上工作,所以jQuery包装对象是没有必要的。(http://api.jquery.com/jQuery.each/)但是,jQuery没有将返回的html解析为javascript集合对象的方法
  • <>如果你真的想用JavaScript结构化的数据对象来结束,你可以考虑把你的输出发送为JSON(JavaScript对象符号)。据我所见,这似乎更适合这种情况
如果您确实想继续这样做,您需要编写一些javascript来在新行拆分响应html。它可能看起来像这样(你可能需要玩弄它)


你的JavaScript代码只会得到一点文本;就是一根绳子。你的JSP代码没有做任何事情来让它像其他任何东西一样组织起来。是的,我知道这一点。另一种方法是使用JSON将数据编码到一个数组结构中,这将允许我循环它,但我只是想知道是否有一种方法可以在不使用JSON的情况下执行类似的操作。请尝试
alert(data)
检查响应字符串,
println
应在每行末尾至少添加一个
\n
字符。您可以修改
数据
并对其进行迭代。定义“不起作用”。。。如果要迭代字符串分隔的换行符,请拆分换行符。这不是最好的解决方案,如果输出带有换行符的文本,则无法正常工作,但在当前的OP设置中,没有其他方法。JSON可能是一个更好的选择。我的坏消息是它工作了,我犯了一个愚蠢的错误。谢谢!
var myData = data.split(/\r\n|\r|\n/);