无法使用AJAX从PHP获取json响应

时间:2012-12-11 14:40:53

标签: php jquery ajax

将ajax响应的结果放入html元素时遇到问题。这是我的php,它将东西插入数据库,插入部分工作,但无法将结果导入div。

include('konekcija.php');

if ($_POST['form_submitted'] = 1) { 

$aktKod = mt_rand() . mt_rand() . mt_rand() . mt_rand() . mt_rand();
$sifra = $_POST['password'];
$korIme = $_POST['username'];
$email = $_POST['email'];
$upit = "INSERT INTO korisnici(Username,Password,Email,Status,AktivacioniBroj,Uloga) 
VALUES ('$korIme','$sifra','$email','verify',$aktKod,'user') ";
if(mysql_query($upit)) { $return['success'] = "Uspesna registracija"; }
else { $return['error'] = "neuspesna registracija"; }
echo json_encode($return);
mysql_close($conn);  }

Jquery代码:

$(document).ready(function() {  
$('#prijava').click(function() {      
$.ajax({
url: "registracija.php",
type: "POST",
dataType:"json",
data: {form_submitted:1, username: $('#user').val(), password: $('#pass').val(), email: $('#email').val()},
succes: function(data) { $('#errorCol').html(data.success); }
});  });  });

我的表格用html:

      <form method="POST" name="register" action="" onsubmit="return false">
      <table id="register">

      <tr>
      <td style="padding-bottom:30px; padding-right:20px;"><span style=" font-size:14px; color:#666;">Korisnicko Ime:</span></td>           
      <td><input id="user" type="text" name="username" /></td>                   
      </tr>

      <tr>
      <td style="padding-bottom:30px; padding-right:20px;"><span style=" font-size:14px; color:#666;">Sifra:</span></td>            
      <td> <input id="pass" type="password" name="password" /></td>           
      </tr>

      <tr>
      <td style="padding-bottom:30px; padding-right:20px;"><span style=" font-size:14px; color:#666;">Ponovite Sifru:</span></td>            
      <td> <input id="pass2" type="password" name="password" /></td>           
      </tr>

      <tr>
      <td style="padding-bottom:30px;"><span style=" font-size:14px; color:#666;">Email:</span></td>            
      <td><input id="email" type="text" name="email" /> <input type="hidden" name="form_submitted" value="1"/></td>           
      </tr>

      <tr>                  
      <td style="padding-bottom:30px;" colspan="2" align="center"><input id="prijava" type="submit" value="Prijavi" /></td>           
      </tr>

      <tr>                  
      <td id="errorCol" colspan="2" align="center"></td>           
      </tr>

      </table>
      </form>

所以它将数据插入到数据库中,但是我需要将响应显示到id为“errorCol”的元素的部分不起作用,它只是保持为空。试图返回json数组。

1 个答案:

答案 0 :(得分:0)

你的代码中有一些拼写错误。

  1. php测试以查看表单是否已提交 ($_POST['form_submitted'] = 1)是一项任务,它应该是一项任务 double ==,否则它将永远为真。

  2. 在你的jquery中,“成功”回调拼写错误,你有 “更迭”