2016-05-20 17 views
1

私はMVCプロジェクトでJavaとPlayフレームワークを使用していますが、問題が発生しました。ここでは、コードの興味深い部分は(私はそれを少しクリーン)である:エラー500が返されましたが、ok()が返されました

コントローラ:

public Result acceptInputSimulationPension() { 
    if (request().getHeader(CONTENT_TYPE) == null) { 
     return badRequest("error: no content type"); 
    } 
    if (!request().getHeader(CONTENT_TYPE).contains("multipart/form-data")) { 
     return badRequest("Error: wrong content type. Expected multipart/form-data, got " + CONTENT_TYPE); 
    } 

    Form<String> form = Form.form(String.class).bindFromRequest(); 
    Pension project = new Pension(); 

    project.setMaxloss(form.field("maxloss").value()); 
    // setting some other parameters... 
    project.setIdUser(Application.user.getId()); 

    if (project.getMaxloss() == 0) { 
     return badRequest("error: maxloss datalist malformed"); 
    } 

    double[] flows = Application.getPensionFlows(project, (int) project.computeContributionYears(), (int) project.computeAdditionalIncomeNeeded()); 
    Savings savings = new Savings((int) project.getInitialContribution(), flows, (int) project.computeContributionYears() * 12); 
    Ebean.save(project); 

    session("init/pension/maxloss"+project.getId(), form.field("maxloss").value()); 
    // setting some other session variables... 

    ObjectNode result = Application.jsonEncoder.encodeFinalSimulPension(project, savings.getSavings(), flows, false, true); 
    result.put("id", project.getId()); 
    System.out.println("hello?"); 
    return ok("test"); 
} 

私は問題がから来ていないことを確認して[OK](「テスト」)を返しています結果変数

とAjax:

function ajaxPOST_simulation(data, id, formName) { 
$.ajax({ 
    type: 'POST', 
    url: "/input/simulation/"+formName, 
    processData: false, 
    contentType: false, 
    data: data, 
    success: function (resp) { 
     alert("ok"); 
    }, 
    error: function (resp) { 
     alert("error: " + resp.responseText); 
    } 
}); 
} 

のSystem.out.println(「こんにちは」)が成功した私の端末に表示されるので、私は、私はOK(「テスト」)を返しています推測するが、私はこれを取得しますアラートとしてのエラー:

error: 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <title>Execution exception</title> 
     <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSU... etc. 

どうすれば可能ですか? ありがとうございます!

EDIT: HTMLコードがNullPointerExceptionに対応していることがわかりましたが、ここでNULLが何であるかはまだ分かりません。でも、結果変数はNULLではありませんし、[OK]を探します...

答えて

0

問題は、JSONから、どちらもアヤックスから来なかったことが判明:私はちょうどこれを行うにしようとしていた。

session("init/pension/maxloss"+project.getId(), form.field("maxloss").value()); 

もはや存在していないフィールドがあります。 私はこの種の間違いが例外を投げ、プログラムが機能の終わりに達する前に停止すると思っていました。

関連する問題