javascript - 使用 PHP_SELF 返回单个响应

标签 javascript php jquery

我使用 $_SERVER['PHP_SELF'] 来运行函数,因为它在我的插件页面中包含和调用的方式我无法直接调用functions.php文件,所以我想要做什么现在正在处理注册脚本,问题是我的返回无法按照我想要的方式使用。例如。

public function CheckUserName() {
            $query = <<<SQL
            SELECT id
            FROM {$this->tprefix}accounts
            WHERE username = :posteduser
SQL;
            $resource = $this->db->db->prepare( $query );
            $resource->execute( array (
            ':posteduser'   => $_POST['username'],
            ));
            if($resource->rowCount() == 0 ) {
                //Self Continue to run checks
                 }
                else {
                echo "1";
                }
        }

是我的检查,以确保用户名尚未被占用,而如果电子邮件已在使用中,则我的响应将是两个。我的 Ajax 是

$(function() {
  $("#register_").submit(function(event) {
      event.preventDefault();  
    var username = $("#username").val();
    if(username == "") { $("#unameerror").html("Username is Required"); }
    $.ajax({ 
      type: "POST",
      url: $("#register_").attr("action"),
      data: $("#register_").serialize(),
      success: function(data) { 
      if(data==1) { alert("Username is taken. Please choose another!" };
      if(data==2) { alert("Email already registered. Please select lost password
      if you have forgotten your password" };
      if(data==0) { alert("Account Created!") }; //0 is returned after all checks passed and scripts executed
      },
      error: function() {
        alert("Something isn't right");
      }


     });
    });
});

我的问题是,因为它是从 PHP_SELF 运行的,所以它会输出所有信息(IE <html><title>reg script</title><body><form id = "reg"></form></body><html> 我能想到的最好的方法是如何解析所有数据返回以简单地返回脚本代码?

最佳答案

这适用于我的框架。由于所有内容都包含在 index.php 文件中,然后只是通过变量作为包含内容进行拉取,因此它始终是 index.php 文件 目前是

error_reporting(E_ALL);
ini_set('display_errors', 1);
require_once(dirname(__file__).'/config.php');
require_once(dirname(__file__).'/directives.php');
LoadClasses();
$Theme->Load(ACTIVETHEME);

我只是将底部更改为

if(isset($_POST['process'])) {
}
else {
$Theme->Load(ACTIVETHEME);
}

现在加载我的页面没有问题,但是当我执行带有流程输入的表单时( IE <input type="hidden" name="process" id="process" value="register"> ) 现在,如果没有执行任何表单,它会加载页面,但由于我希望所有插件都通过 ajax 运行,所以如果发布了进程,那么它只返回 php 脚本数据。

关于javascript - 使用 PHP_SELF 返回单个响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32676244/

相关文章:

javascript - 使用javascript对不同类型的网站url进行正则表达式

configuration - 无法使用 ini_set 关闭 short_open_tag

jquery - 如何将背景图案图像应用于 html 工具提示箭头?

javascript - 返回 promise 及内容(可以很多)

javascript - Dropzone JS 在 ie9 中未通过验证

phpmyadmin 安装和登录令人头痛

php - Symfony2命令行生成全局文件夹下的twig模板

javascript - 填充格式化日期表单选择菜单

Jquery 主体点击停止切换

javascript - 在 .forEach 完成后执行回调函数