0

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");
4

1 に答える 1

1

注意すべき点がいくつかあります。

  • jsp がレンダリングされ、html コンテンツであることを示すヘッダーが返されている可能性があります。テキストの新しい各行が新しいデータを表すことを (ある程度恣意的に) 決定しています。
  • jQuery の各ドキュメントでは、コレクションでのみ機能することが示されているため、jQuery でオブジェクトをラップする必要はありません。(http://api.jquery.com/jQuery.each/) ただし、jQuery には、返された html を解析して JavaScript コレクション オブジェクトにする方法がありません。
  • 本当に JavaScript 構造化データ オブジェクトを作成しようとしている場合は、出力を JSON (JavaScript オブジェクト表記法) として送信することを検討してください。私が見たところ、この場合はより適しているようです。

この方法で続行したい場合は、JavaScript を記述して、応答 HTML を新しい行で分割する必要があります。おそらくこのようになります(いじる必要があるかもしれません)

var myData = data.split(/\r\n|\r|\n/);
于 2012-06-18T20:41:39.780 に答える