《马关条约》签订后,中国民族危机加剧,于是出现了要求进行变法维新的声音。维新运动开始于1895年在北京发生的“公车上书”。当时齐集在北京参加科举会试的18省举人,得知《马关条约》中中国割去台湾及辽东,并向日本赔款两万万两的消息,一时间群情激愤。4月,康有为、梁启超作成上皇帝的万言书,提出拒和、迁都及变法的主张,1000多人签名。5月2日,康、梁二人带领18省举人及数千市民,集合在都察院门前要求代奏。因为外省举人到京是由朝廷的公车接送,事件亦被称为“公车上书”。虽然“公车上书”在当时没有产生直接实质的后果,但却形成了国民问政的风气,之后亦催生了各式各样不同的议政团体。当中由康、梁二人发起的强学会最为声势浩大,并曾一度得到帝师翁同龢、南洋大臣张之洞等清朝高级官员的支持。
光绪二十三年(1897年)年末,山东发生曹州教案,两名德意志帝国传教士被杀。德国乘机侵占胶州湾(今青岛),俄国同时进占旅顺、大连,法国进占广州湾(今广东湛江),英国进占山东威海,并要求拓展九龙新界。列强意图瓜分刚败于日本的中华帝国,在朝中再次敲响了警钟。
民族危机激发了光绪帝的爱国热情,公车上书启发了他变法的决心。他清楚地知道慈禧太后虽然已经撤帘,但是仍然紧紧控制着他。“上事太后谨朝廷大政,必请命乃行。”顽固的慈禧太后不会让他变法的,但是他决心已定,为了国家的振兴,他把个人的利益和荣辱置之度外,说:“太后若不给我事权,我愿退让此位,不甘做亡国之君。”他用手中的权力极力支持康有为。光绪二十四年(1898年,戊戌年)四月十三日,御史杨深秀奏请定国是,面对列强瓜分的危险,慈禧太后同意光绪帝进行朝政的改革。二十三日,光绪帝颁布“明定国是诏”,在政治、经济、军事、文教诸方面实行变法,旨在挽救中国危亡。他对维新派主要人物作了恰当的人事安排,允许康有为专折奏事,并任命他在总理衙门章京上行走,以便上奏,提出变法方案。在短短的103天里,光绪帝颁布了100多条新政上谕。
新政内容主要有:裁汰冗员、废八股、开学堂、练新军、满汉平等……涵盖教育、军事等多方面的政策和体制。其最终目标,是推行君主立宪制。康有为向光绪帝赠送自己的著作《日本变政考》和《俄罗斯大彼得变政记》,还有李提摩太的《泰西新史揽要》的译本和其他有关各国改革的书。
光绪帝发布御令,企图形成自上而下的全国改良性运动,但遇到大多数地方顽固势力尤其是慈禧太后的阻挠和破坏。两江总督刘坤一、两广总督谭钟麟根本不理睬御令筹办之事,电旨催问,也置若罔闻。慈禧太后表面上同意变法,实际上想方设法阻挠变法。她发出懿旨,迫使光绪帝将变法中坚人物翁同龢革去协办大学士、户部尚书职务,同时任命“后党”重要人物荣禄为直隶总督,掌握兵权,又规定新任职的两品以上的文武官员向她谢恩,目的是拉拢“帝党”。
光绪帝对此作了针锋相对的斗争。他革去了守旧、阻挠上书的怀塔布、许应揆等6名礼部堂官,任命了7名新堂官,其中4名是支持维新的。七月二十日,光绪帝又任命维新派重要人物江苏候补知府谭嗣同、刑部候补主事刘光第、内阁候补侍读杨锐、内阁候补中书林旭担任四品衔章京,处理新政事宜。
慈禧太后决意破坏变法,发动政变。她授意荣禄调兵遣将,聂士成部驻天津陈家沟,董福祥部驻北京长辛店。翰林院编修李盛铎奏请光绪帝奉慈禧太后去天津阅兵,以乘机胁迫光绪帝让位。
七月三十日,光绪帝密诏杨锐,告以危局,命与林旭、刘光第、谭嗣同等速议对策。鉴于光绪帝处境危险,谭嗣同于八月初三夜访在天津训练新军的袁世凯,要求他举兵杀荣禄,围颐和园以救光绪帝。袁世凯慨然应允,但当晚就密报荣禄。
不知情的光绪帝于八月初五还召见袁世凯,袁世凯建议他召张之洞襄助。
八月初四,康有为访英国传教士李提摩太,请英国公使相助,未应允。两日后,袁世凯回到天津,将谭嗣同的计划向荣禄报告。八月初四,慈禧太后回宫,八月初六即临朝,宣布戒严,火车停驶;随即幽禁光绪帝,废除新政,搜捕维新党人。
由慈禧发动的戊戌政变,结束了只有103天的维新。慈禧太后第三次训政;康有为、梁启超逃往国外,张荫桓戍边,徐致靖永禁,杨深秀、杨锐、林旭、刘光第、谭嗣同、康广仁(康有为之弟)处斩。维新举措,除京师大学堂外,一律都被废止,戊戌变法失败。
光绪帝支持康有为、梁启超等人实行的戊戌变法,是中国历史上第一次资产阶级改良运动,历时虽不长,但动机良好,虽败犹荣。光绪帝是晚清最有见识,并且能为国家利益不顾个人安危的皇帝,他的名字与这场运动青史永垂。
但是慈禧太后对光绪非常不满,认为光绪从4岁进宫,自己费心抚养成人,却这么不听话,搞什么戊戌变法来蛊惑人心,于是就想废掉他,另立皇帝。当初光绪皇帝即位时,两宫太后曾经说过,等将来光绪帝有了儿子,再过继给同治帝载淳为嗣。但光绪无子,怎么办?废帝后,光绪又该怎么处置?慈禧反复思考这两个难题。
光绪二十五年(1899年)十一月二十八日,上完早朝之后,慈禧单独召见荣禄。慈禧与荣禄商量着立一个大阿哥,作为同治和光绪帝的继承人。此时,端郡王载漪之子溥俊进入了慈禧的视线。15岁的溥俊处在爱新觉罗氏(父系)与叶赫那拉氏(母系)两支血缘的交叉点上,慈禧觉得很满意,便将其召入宫内,立为大阿哥,打算让他取代光绪。但外国公使并不承认这位大阿哥,理由是他的父亲爱新觉罗·载漪是义和团领袖。慈禧太后不顾反对,她想让溥俊于四月即位,改元保庆,废黜光绪皇帝,并且由慈禧太后垂帘听政。朝野上下引起轩然大波。慈禧被迫停止废除光绪的计划。