¾«Í¨ Grails: ʹÓà Ajax ʵÏÖ¶à¶Ô¶à¹Øϵ
ÔÚ Web Ó¦ÓóÌÐòÖУ¬¶à¶Ô¶à£¨m:m£©¹ØϵºÜÄÑ´¦Àí¡£ÔÚ ¾«Í¨ Grails ϵÁеÄÕâÒ»ÆÚÎÄÕÂÖУ¬Scott Davis ½«ÏòÄúչʾÈçºÎÔÚ Grails Öгɹ¦ÊµÏÖ m:m ¹Øϵ¡£Á˽âÈçºÎͨ¹ý Grails ¶ÔÏó¹ØϵӳÉ䣨Grails Object Relational Mapping£¬GORM£©API ºÍºó¶ËÊý¾Ý¿â´¦Àí¶à¶Ô¶à¹Øϵ¡£Ñ§Ï°ÈçºÎʹÓà Ajax£¨Asynchronous JavaScript + XML£©Á÷Ïß»¯Óû§½çÃæ¡£
Èí¼þ¿ª·¢¾ÍÊÇʹÓôúÂëÀ´Ä£ÄâÏÖʵÊÀ½ç¡£ÀýÈ磬Êé¼®¶¼ÓÐ×÷Õߺͳö°æÉÌ¡£ÔÚ Grails Ó¦ÓóÌÐòÖУ¬ÒªÎªÃ¿¸öÔªËØ´´½¨Ò»¸öÓòÀà¡£GORM Ϊÿ¸öÀà´´½¨¶ÔÓ¦µÄÊý¾Ý¿â±í£¬´î½¨¹¦ÄÜ£¨scaffolding£©Ìṩ»ù±¾µÄ Create/Retrieve/Update/Delete (CRUD) Web ½çÃæ¡£
½ÓÏÂÀ´¶¨ÒåÕâЩÀàÖ®¼äµÄ¹Øϵ¡£Ò»¸ö³ö°æÉÌͨ³£»á³ö°æ¶à²¿Í¼Ê飬Òò´Ë³ö°æÉ̺ÍËûµÄͼÊéÖ®¼äµÄ¹Øϵ¾ÍÊÇÒ»¸ö¼òµ¥µÄÒ»¶Ô¶à£¨1:m£©¹Øϵ£ºÒ»¸ö Publisher ³ö°æ¶à¸ö Book¡£Í¨¹ýÔÚ Publisher ÀàÖмÓÈë static hasMany = [books:Book]£¬´´½¨ 1:m ¹Øϵ¡£ÔÚ Book ÀàÖзÅÈë static belongsTo = Publisher£¬¿ÉÒÔÏò¹ØϵÌí¼ÓÁíÒ»¸ö·½Ãæ —— ¼¶Áª¸üкÍɾ³ý¡£Èç¹ûɾ³ýÒ»¸ö Publisher£¬ËùÓжÔÓ¦µÄ Book Ò²»á±»É¾³ý¡£
ºÜÈÝÒ×ÔڵײãÊý¾Ý¿âÖÐÄ£Äâ 1:m ¹ØϵÐÍ¡£Ã¿¸ö±íÓÐÒ»¸öÓÃ×÷Ö÷¼üµÄ id ×ֶΡ£µ± GORM Ïò book ±íÌí¼ÓÒ»¸ö publisher_id ×Ö¶Îʱ£¬¾ÍÔÚÁ½¸ö±íÖ®¼ä½¨Á¢ÁËÒ»¸ö 1:m ¹Øϵ¡£ÔÚÇ°¶Ë£¬Grails Ò²Äܹ»ºÜºÃµØ´¦Àí 1:m ¹Øϵ¡£´´½¨Ò»¸öРBook ʱ£¬×Ô¶¯Éú³ÉµÄ£¨´î½¨¶ø³É£©HTML ±íµ¥Ìṩһ¸öÏÂÀ×éºÏ¿ò£¬½«ÄúµÄÑ¡ÔñÏÞÖÆÔÚÏÖÓÐµÄ Publisher ÁбíÖС£×Ô±¾ÏµÁÐµÄ µÚһƪÎÄÕ ÒÔÀ´£¬ÎÒÃÇÒѾչʾÁËÐí¶à 1:m ¹ØϵµÄʾÀý¡£
ÏÖÔÚÀ´¿´¿´Ò»¸öÉÔ΢¸´ÔÓһЩµÄ¹Øϵ — ¶à¶Ô¶à£¨m:m£©¹Øϵ¡£Óë Book ºÍ Publisher Ö®¼äµÄ¹ØϵÏà±È£¬Ä£Äâ Book Óë Author Ö®¼äµÄ¹ØϵҪ¸´Ôӵöࡣһ²¿Í¼Êé¿ÉÒÔÓжà¸ö×÷Õߣ¬Ò»¸ö×÷ÕßÒ²¿ÉÒÔ±àд¶à²¿Í¼Êé¡£ÕâÊÇÒ»¸öµäÐ굀 m:m ¹Øϵ¡£ÔÚÕæʵÊÀ½çÖУ¬m:m ¹ØϵºÜ³£¼û¡£Ò»¸öÈË¿ÉÒÔÓжà¸ö֧ƱÕʺţ¬Ò»¸ö֧ƱÕʺÅÒ²¿ÉÒÔÓɶà¸öÈËÀ´¹ÜÀí¡£Ò»¸ö¹ËÎÊ¿ÉÒÔΪ¶à¸öÏîÄ¿¹¤×÷£¬Ò»¸öÏîÄ¿Ò²¿ÉÒÔÓжà¸ö¹ËÎÊ¡£±¾ÎĽ«ÏòÄúչʾÈçºÎʹÓà Grails ʵÏÖ m:m ¹Øϵ£¬ÎÒÃÇÔÚ±¾ÏµÁÐÖпª·¢µÄ trip-planner Ó¦ÓóÌÐòÉϽøÐй¹½¨¡£ÔÚÌÖÂÛ trip-planner Ó¦ÓóÌÐò֮ǰ£¬ÎÒ»¹Ïë̸̸ͼÊéµÄÀý×Ó£¬ÒÔ°ïÖúÄúÀí½âÒ»¸öÒªµã¡£
µÚÈý¸öÀà
ÔÚÊý¾Ý¿âÖУ¬ÓÃÈý¸ö±í±íʾ m:m ¹Øϵ£ºÇ°Á½¸ö±íÄúÒѾ֪µÀÁË£¨Book ºÍ Author£©£¬µÚÈý¸öÊÇÒ»¸öÁ¬½Ó±í£¨BookAuthor£©¡£GORM Ïò BookAuthor Á¬½Ó±íÌí¼Ó book_id ºÍ author_id£
Ïà¹ØÎĵµ£º
Èç¹ûAJAX¼ÓÔصÄÊý¾ÝÊÇÒ»¸öHTMLƬ¶Î£¬¶øÇÒÕâ¸öHTMLƬ¶Î»¹°üº¬½Å±¾<script>¿é£¬ÄÇôÔÚÄã°ÑÕâÊý¾ÝxmlHttp.responseTextÓÃinnerHTML·½·¨²åÈëµ½µ±Ç°ÎĵµÒ»¸öÔªËØÖУ¬Äã»á·¢ÏÖAJAX¼ÓÔØ»ØÀ´µÄ½Å±¾¸ù±¾Ã»ÓÐÖ´ÐС£ÕâÊÇAJAX¿ª·¢Öкܳ£¼ûµÄÎÊÌ⣬Èç¹ûÄã²»ÊÇÒ»Ö±ÔÚÓÃJavaScript¿ò¼Ü×ö¿ª·¢£¬ÏàÐÅÄãÔç¾Í·¢ÏÖÕâ¸öÎÊÌâÁË¡£±¾ÎÄ·ÖÎöÁËÁ ......
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<input type="button" onclick="test();" value="Ìá½»"/>
<script type="text/javascript">
function test(){
var valid = {
& ......
Ç°¶Îʱ¼äдJSP£¬Ê¹ÓÃAJAXÒÔPOST·½Ê½Ìá½»Êý¾Ý£¬Èç¹ûÊÇÖÐÎÄ×Ö·ûÌá½»¾Í»áÂÒÂ룬ºóÀ´Ð´ASPʱÓõ½AJAXÒÔPOST·½Ê½Ìá½»Êý¾Ý£¬ÖÐÎÄÒ»ÑùÊÇÂÒÂë¡£ËÑË÷Ò»ÏÂÏà¹Ø×ÊÁÏ£¬ÎÊÌâÓ¦¸ÃÊÇÌá½»Êý¾ÝʱÊÇÒÔUTF-8±àÂëÌá½»£¬ËùÒÔ½ÓÊÕʱÈç¹ûʹÓÃGB2312»òÕßÆäËüÖÐÎıàÂëµÄ»°¾Í»áÂÒÂë¡£
ʹÓÃGET·½Ê½Ìá½»Êý¾ÝµÄʱºò£¬ÖÐÎÄÎÊÌâºÜºÃ½â¾ö£¬setRequestHeader ......
Ò»¡¢¸ÅÊö
¿¼ÂÇHtml±¾Éí²»´ø¶¨Ê±Ë¢ÐÂÒ³ÃæµÄ¿Ø¼þ£¬ÇÒ²»¿¼ÂÇʹÓõÚÈý·½¿Ø¼þ£»Òò´Ë¿¼ÂÇʹÓÃJavascriptÖеÄsetTimeout+xmlhttpÀ´ÊµÏÖ¶¨Ê±¸üÐÂÒ³ÃæÖв¿·ÖÄÚÈÝ£¬´ËʵÏÖÔÚIE6.0¼°ÒÔÉÏ°æ±¾²âÊÔͨ¹ý£¬ÆäËûä¯ÀÀÆ÷ÔÝʱδ²âÊÔ¹ý¡£
¶þ¡¢¹¦Äܼ°Ìصã
1¡¢Javascriptͨ¹ýMicrosoftµÄMSXML¶ÔÏ󣬶¯Ì¬»ñÈ¡ºǫ́Êý¾Ý¿âÊý¾Ý£»
&n ......
20 ¸ö¾µäµÄ Ajax + CSS ±í¸ñ
²¢²»ÊÇËùÓеÄWeb ¿ª·¢Õ߶¼»á¶ÔÃÀ»¯±í¸ñÊý¾Ý¸ÐÐËȤ£¬½ñÌìÎÒÃÇÊÕ¼¯ÁË20 ¸ö¹¦ÄÜÇ¿´ó£¬Íâ¹ÛƯÁÁµÄ»ùÓÚAjax + CSS µÄ±í¸ñЧ¹û£¬Äã¿ÉÒÔ´ÓÕâЩʾÀýÖÐѧϰÔõôʹÓÃÕâЩ±í¸ñÌṩµÄÅÅÐòºÍ¹ýÂ˵ŦÄÜÀ´×éÖ¯±í¸ñÖеÄÊý¾Ý¡£
ÏÖÔÚÈÃÎÒÃÇÀ´¿´¿´ÕâЩ±í¸ñ£º£¨µã»÷ÿ¸öÑùʽǰÃæµÄÁ´½Ó¼´¿É½øÈëÏÂÔØ£©
¡¡¡¡#1. ......