使用Ajax和php进行语言选择


language selection with Ajax and php

嗨,伙计们,我有一个php表单,可以在许多语言中呈现。我通过使用一个语言类来做到这一点,该语言类从服务器上的文件中获取文本,并在我需要的地方返回它:$lang = new Lang("en");,然后我使用$lang->GetText('my_index')时,我在页面上显示表单。我想用语言创建一个下拉菜单,当用户选择另一种语言时,我的$lang对象显示的所有文本都将根据所选语言的值进行刷新。通常我会在我的脚本中使用$_GET['country_code']并做$lang = new Lang($_GET['country_code']);,但我想用Ajax这样做,以便页面不刷新。

我在互联网上发现的所有Ajax示例都只是更新div, select的内部html,无论从AjaxRequest中调用的php脚本收到的响应文本是什么,但我想更新我的$lang变量并重新显示我的页面,以便语言改变。

在我看来,如果你想'重新显示页面',那么你不想使用ajax。Ajax用于一次性更新页面的单个方面,因此更新单个div或容器正是您想要做的。如果你使用的是MVC框架,那么部分视图是很好的,因为它们呈现HTML的单个部分,然后你可以把它放在AJAX调用的回调函数中。