JFinal使用ノート5-AJAX方式でJFinalにアクセス
1404 ワード
1、フロントコード
2、バックグラウンドコード
一晩苦労してやっとajaxでJFinalにアクセスでき、戻り値を受信できました.やはり@JFinalの質問文への返信を見てやっと解決しました.
@JFinalはjsonデータをレンダリングするのが簡単だと言っていますが、次の3つの例を示します.
以上のコードはuserListというオブジェクトをすべてjsonに変換しclientに送信します.
以上のコードはuserとblogListオブジェクトをjsonに変換しclientに送信します.
また、次のようにすることもできます.
1、json形式の文字列にrenderJsonを使用しようとしたところ、フロントでerrorのfunctionが呼び出され、ページにこの文字列が印刷された.
2、元のajaxのurlを修正して元のトリガイベントのbuttonをクリックすると、新しいurlは有効ではありません.新しいbuttonを作成してトリガすれば有効になります.どんな状況なのか分かりません.
$.ajax({
type : "POST",
url : "/activity",
dataType : "json",
success : function(data) {
alert("success");
console.info(data);
},
error : function(textStatus) {
alert("error");
console.info(msg);
}
});
2、バックグラウンドコード
public void index() {
setAttr("activityList", Activity.dao.find("select * from activity order by id asc"));
renderJson();
}
一晩苦労してやっとajaxでJFinalにアクセスでき、戻り値を受信できました.やはり@JFinalの質問文への返信を見てやっと解決しました.
@JFinalはjsonデータをレンダリングするのが簡単だと言っていますが、次の3つの例を示します.
List<User> userList = User.dao.find("select * from user");
render("userList", userList);
以上のコードはuserListというオブジェクトをすべてjsonに変換しclientに送信します.
setAttr("user", User.dao.findById(getParaToInt()));
setAttr("blogList", Blog.dao.find("select * from blog where user_id=?", getParaToInt());
renderJson();
以上のコードはuserとblogListオブジェクトをjsonに変換しclientに送信します.
また、次のようにすることもできます.
renderHtml(JsonKit.toJson(blogList));
私がこの過程で出会った問題は次のとおりです.1、json形式の文字列にrenderJsonを使用しようとしたところ、フロントでerrorのfunctionが呼び出され、ページにこの文字列が印刷された.
2、元のajaxのurlを修正して元のトリガイベントのbuttonをクリックすると、新しいurlは有効ではありません.新しいbuttonを作成してトリガすれば有効になります.どんな状況なのか分かりません.