2017-05-15 6 views
0

従業員番号の入力時に従業員の詳細を自動入力しようとしています。次のように JSONオブジェクトからAJAXへのレンダリングがgrailsで呼び出される

AJAX呼び出しがある

render(contentType: "application/json") {[data]} 
:として私はAJAX呼び出しに戻っていますコントローラで

Gson gson = new Gson(); 
    System.out.println(gson.toJson(objEmp)); 
    return gson.toJson(objEmp); 

私はJSONオブジェクトを返すメソッドを呼び出していますコントローラで

$(document).keypress(function(e) { 
if(e.which == 13){ 
    var URL="${createLink(controller:'employeeAdd',action:'getDetails')}"; 
    var empNo = $("#empNo").val(); 
    alert("empNo: " + empNo); 
    $.ajax({ 
     type: "GET", 
     url:URL, 
     contentType: "application/json; charset=utf-8",    
     dataType: "json", 
     data: { 
      empNo:empNo 
     }, 
      success: function (data) { 

       $("#empNo").val(data.employeeNumber); 
       $("#employeeName").val(data.employeeName); 
      }, 
      error: function (jqXHR, exception) { 
       var msg = ''; 
       if (jqXHR.status === 0) { 
        msg = 'Not connect.\n Verify Network.'; 
       } else if (jqXHR.status == 404) { 
        msg = 'Requested page not found. [404]'; 
       } else if (jqXHR.status == 500) { 
        msg = 'Internal Server Error [500].'; 
       } else if (exception === 'parsererror') { 
        msg = 'Requested JSON parse failed.'; 
       } else if (exception === 'timeout') { 
        msg = 'Time out error.'; 
       } else if (exception === 'abort') { 
        msg = 'Ajax request aborted.'; 
       } else { 
        msg = 'Uncaught Error.\n' + jqXHR.responseText; 
       } 

      },  
    }); 
}; 
}); 

私は間違いをしていません。データがJSON形式であっても、自動入力されるものはありません。私はJSONとAJAXの新機能を呼びました。私はまだインターネットからコードを試しましたが、希望の出力を得ることができませんでした。私はエラーを見つけることができません。どのポインタも大きな助けになるでしょう。ありがとうございました。

答えて

0

私は次の変更を行い、コードが働いた:

  1. は、メソッドから、従業員オブジェクトを返さ。機能(dataEmp)
:==> AJAXコール目的球==>成功にdataEmp
  • JSON
  • として抽出されたデータをレンダリングJSONなどのオブジェクトをレンダリング
  • 関連する問題