0

我创建了一个煎茶触摸应用程序,在我的控制器中我使用了 ajax 代码作为

   if (condition is true){
                            Ext.Ajax.request({
                                url: 'http://localhost/../abc.php?action=check',
                                params: valuesUser,
                                method: 'POST',

                                success: function(response){
                                    var text = response.responseText;
                                    console.log(response.responseText);
                                     if(response.responseText == 'exists')
                                {
                                //Ext.Msg.alert('Success', text);
                                Ext.getCmp('loginform').destroy();
                                Ext.Viewport.setActiveItem(Ext.create('RegisterForm.view.Main'));
                                }
                                else{
                                    Ext.Msg.alert('Success',text);
                                }
}

                                failure : function(response) {
                                    Ext.Msg.alert('Error','Error while submitting the form');
                                    console.log(response.responseText);
                                }
                            });
                           }
                        else{
                            Ext.Msg.alert('Error', 'All the fields are necessary');
                        }

我的 abc.php 包含以下代码

<?php
$con = mysql_connect("localhost","root","");
mysql_select_db('RegisterForm',$con);
if($_REQUEST["action"]== "check"){
$query = "SELECT name FROM userdetails WHERE name ='" . $_POST['userName'] . "' ";
      $queryresult = mysql_query($query);
      $count = mysql_num_rows($queryresult);
      if($count == 1)
        {
            echo('values are in the db');
        }
       else
        {
            echo("values aren't in the db");
        }
}
?

如果控制器代码中的 contion 为真,它会转到 abc.php 并检查数据库中是否存在名称。如果名称存在,那么它应该打开另一个视图,否则它应该显示警报消息,因为值不在db.but 通过使用上面的代码,我在两种情况下都导航到另一个视图(值在 db 中,值不在 db 中)。任何人都可以帮我做到这一点。提前致谢...

4

1 回答 1

0

您需要根据 PHP 的返回值在您的 sencha 代码中添加条件。就像是:

if(response.responseText == 'exists')
    Ext.Viewport.setActiveItem(Ext.create('RegisterForm.view.Main'));
else
    Ext.Msg.alert('Success', text);

此外做

echo 'exists';

代替

echo('values are in the db');
于 2013-01-31T05:46:38.740 回答