繁体   English   中英

jQuery AJAX未在PHP上传递“ POST”数据

[英]Jquery AJAX not passing “POST” data on PHP

 function getHash() { alert('Debug me gethash'); return localStorage.getItem('hash'); } function getUser() { return getHash().split('~')[0]; } function setHash(data) { alert('Debug sethash'); localStorage.setItem('hash', data); } function doAction(action, params, callback) { alert('Debug me 3'); $.post('../core.php?action=' + action + '&hash=' + getHash(), params, callback); } function register() { alert('debug1'); doAction('register', { username: $('#register_user').val(), ref: fromUrl('ref') }, function(data) { alert('Debug me 2'); var json = JSON.parse(data); if (json.hasOwnProperty('error')) alert(json.error); else ready(json); }); } 
 $db=new PDO('mysql:dbname=name;host=localhost', '', '', array(PDO::ATTR_ERRMODE=> PDO::ERRMODE_EXCEPTION)); switch ($_GET['action']) { case'register': if(isset($_POST['username'], $_POST['ref'])) { $username=$_POST['username']; if(strlen($username) < 3) error('Username is too short!'); if(strlen($username) > 10) error('Username is too long!'); //N if(!preg_match('/^[a-zA-Z0-9_]+$/', $username)) error('Username contains invalid characters!'); $ret=$db->prepare("SELECT * FROM users WHERE username=?"); $ret->execute(array($username)); if($ret->fetch()) error('Username already exists!'); $hash=md5(uniqid("", true)); $db->prepare("INSERT INTO users(username,hash,ontime,referral) VALUES(?,?,?,?)")->execute(array($username, $hash, time(), (int)$_POST['ref'])); die(json_encode(array('hash'=>$username.'~'.$hash))); } ; } 
  <h2 class="dialog_text">Register</h2> <input type="text" class="form-control-modal" placeholder="Username" id="register_user"> <button type="button" class="btn btn-modalbuy" class="close" onclick="register()">Sign Up</button> <div class='smalltext'>By accessing the site I verify that I am at least 18 years old and have read the Terms & Conditions.</div> <br> <hr>//PHPCOde $db = new PDO('mysql:dbname=name;host=localhost', '', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); switch ($_GET['action']) { case 'register': if(isset($_POST['username'],$_POST['ref'])) { $username = $_POST['username']; if(strlen($username) < 3) error( 'Username is too short!'); if(strlen($username)>10) error('Username is too long!'); //N if(!preg_match('/^[a-zA-Z0-9_]+$/',$username)) error('Username contains invalid characters!'); $ret = $db->prepare("SELECT * FROM users WHERE username=?"); $ret->execute(array($username)); if($ret->fetch()) error('Username already exists!'); $hash = md5(uniqid("",true)); $db->prepare("INSERT INTO users(username,hash,ontime,referral) VALUES(?,?,?,?)")->execute(array($username,$hash,time(),(int)$_POST['ref'])); die(json_encode(array('hash'=>$username.'~'.$hash))); }; } 

我得到POST http://localhost/core.php?action = register&hash = null 500(内部服务器错误),并且XHR完成加载:POST“ http://localhost/core.php?action = register&hash = null ”。

不确定是我的服务器还是代码。 但我似乎无法使其正常工作。 今天花了4个小时尝试。

如果代码中有致命错误,但错误报告已关闭,则显示500 Internal Server Error

通过php文件打开错误报告:

ini_set('display_errors', 1);

通过htacces文件打开错误报告:

php_flag display_errors 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM