从具有开关的PHP函数中调用ajax($ this->方法)

时间:2012-07-10 12:16:50

标签: php ajax

在具有类似代码的php文件中创建 XMLrequest 时......我正在使用MVC(模型 - 视图 - 控制器结构),这是一个控制器php文件。

Controller_Institute extends Controller_Default{



function register(){
    try {

        $this->requireLogin();

        switch($this->method){
            case 'GET':
                $content = $this->render('institute_registration_confirm');
                break;
                case 'POST':

$result = mysql_query("SELECT * FROM password WHERE         pass='".mysql_real_escape_string($_POST['pass'])."'");
$num=mysql_num_rows($result);
if($num==2)
{
$content = $this->render('institute_registration');
}
else
{                   
                $content = $this-  >render("message",array('msg'=>'Your password is incorrect'));

}
break;
}                   
                $institute = R::dispense('institute');
                $institute- >import($_POST,'name,latitude,state,longitude,address,phone,year,url');
                $id = R::store($institute);

                }
                catch(exception $e){
        //If there was an error anywhere, go to the error page.
        $content = $this->render('error',array('exception'=>$e));   
    }
            $page = $this->render('default',array('content'=>$content));
            return $page;

}

我正在函数中发送 ajax请求 ...所以当 ajax 发回请求时,它会被切换到案例中......然后响应文本成为替换实际文本的函数返回值...任何想法如何防止xml响应进入切换案例......? institute_registration 是视图文件,我在我的框架中包含该文件,然后从该文件中触发ajax函数以检查密码(启用注册表单)是否正确...

1 个答案:

答案 0 :(得分:0)

鉴于信息和伪代码有限,我建议设置一个名为say ...“ajax.php”的独立页面,该页面是独立的,并不基于请求方法的返回值。使用AJAX的页面需要从此页面POST或GET,具体取决于。

如果您确定是否通过请求方法返回常规输出与AJAX输出,那么您将以两种方式限制自己。首先,您将无法在您的网页上进行1或其他操作(GET与POST),而不是两者。另外,第二,当谈到AJAX时,你将无法运行GET& POST AJAX请求,是的,你可以使用AJAX:http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/