0
サーブレットとJQueryを使用するJava Webアプリケーションがあります。単純にオブジェクトをJSONに変換して書き戻すサーブレットで$ .get()メソッドを使用します。これは以前から使用されていましたが、なんらかの理由でもう動作しません。私は$ .get()メソッドが全く呼び出されないことをデバッグで発見しましたが、Javascriptファイルの残りはです。 $ .get()メソッドをスキップするだけです。私は理由を理解できないようだ。ここに私のコードだ:
はJavaScript:
window.onload = function() {
$.get('OrdersToJSONServlet', function (responseText) {
// ...I use responseText to populate Google Charts
}
Javaサーブレット:
/**
* <h1>Servlet implementation for converting order objects to JSON for use with JS</h1>
*/
@WebServlet("/OrdersToJSONServlet")
public class OrdersToJSONServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public OrdersToJSONServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @param request
* @param response
* @throws javax.servlet.ServletException
* @throws java.io.IOException
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Object orders = request.getSession().getAttribute("orders");
String json = new Gson().toJson(orders);
try {
response.getWriter().write(json);
} catch (IOException e) {
System.out.println("problem parsing JSON");
}
}
}
私は多分jQueryので参照されている注釈が何とか間違っていたと思ったが、私はどのようにわかりませんそれが本当の問題ならば。助けを前にありがとう!
ブラウザからjsonのリンクを手動で押すだけで応答はありますか? – Arvind
私は正直言って、私はJava開発者ではなくWeb開発者です。これが私の最初のWebプロジェクトです。あなたが話していることは、私が知らないGoogle開発者ツールの機能だと思う。しかし、javascriptコンソールを使用して、responseTextの内容をコンソールに単純に出力しているときに$ .getを呼び出すと、nullが返されます。サーブレットにSystem.out.printlnを追加するか、ブレークポイントを使用すると、$ .getが決して起動されないという前提をサポートしています。 –
私は間違ってはいませんが、ブラウザのアドレスバーに移動してサーブレットに絶対URLをコピーして貼り付け、Enterキーを押してエラーがあるかどうかを確認するとどうなりますか? – Arvind