0

ajax(jquery)呼び出しからデータを投稿するサーブレットがあります。

$('form').submit(function() {
var URL = "ProjectHandler"; 
var dataString=$(this).serialize();
$.ajax({
       type: "POST",
       url: URL,
       data: dataString, 
      // dataType: json,
       success: function(data)
       {
           alert(data.error);

       }
     });
    return false; 
});

コメントを外すと、データ型にコメントしました。これはajax呼び出しを行わず、フォームはデフォルトモードで送信されます。つまり、サーブレットが読み込まれます。

プロジェクトに追加したJAR1.json-lib-2.2.2-jdk15.jar 2. apache-commons-lang.jar 3. ezmorph-1.0.jar

最初に、apache-commonsパッケージの一部である例外filenotfoundをスローしたため、apache commonsが含まれていました。その後、ezmorph-1.0.jarの一部であるfilenotfoundの例外が発生したため、これも追加しました。今私は得ています

java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory

サーブレットdoPostのコード:

response.setContentType("application/json");
PrintWriter out = response.getWriter();

JSONObject json  = new JSONObject();
json.put("error", true);
json.put("errorDesc", "wrong title");
out.print(json);

シナリオをクリアしたことを願っています。助けていただければ幸いです。

ありがとう

4

2 に答える 2

1

commons-logging.jarが欠落しているようです。クラスパスに追加します。

于 2012-11-18T14:42:40.307 に答える
0

json-libを削除できますか?はいの場合はそれを行います!正直なところ、このライブラリを使用する理由はありません...大量の依存関係を追加する必要があるという事実がそれを証明しています。

Gensonライブラリhttp://code.google.com/p/genson/を試してみることをお勧めします。使いやすく、強力で、拡張性があり、すべてが1つで高速であるという利点があります。これにより、pojoに直接逆シリアル化/シリアル化できます。これらすべてのJsonObject / Arraysを使用する必要はありません...パフォーマンスの点で手動のjsonに近いものが必要な場合は、ストリーミングAPIを直接使用することもできます。

于 2012-11-18T16:20:54.140 に答える