我在使用 AJAX 和 JSON 加载数据时遇到问题。
如果我点击注册按钮,它会一直加载......
AJAX 代码
$(document).ready(function(){
$('#regForm').submit(function(e) {
register();
e.preventDefault();
});
});
function register()
{
hideshow('loading',1);
error(0);
$.ajax({
type: "POST",
url: "http://yoursitename.com/register/submit_registration",
data: $('#regForm').serialize(),
dataType: "json",
success: function(msg){
if(parseInt(msg.status)==1)
{
window.location=msg.txt;
}
else if(parseInt(msg.status)==0)
{
error(1,msg.txt);
//alert(msg);
}
hideshow('loading',0);
}
});
}
function hideshow(el,act)
{
if(act) $('#'+el).css('visibility','visible');
else $('#'+el).css('visibility','hidden');
}
function error(act,txt)
{
hideshow('error',act);
if(txt) $('#error').html(txt);
}
控制器,我们获取数据的地方
public function submit_registration() {
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = $this->input->post("name");
if(!$name) {
die(msg(0, "Please insert Your name!"));
}
echo msg(1, "index.html");
} else {
exit('No direct script access allowed');
}
}
我的辅助函数,提供 json
function msg($status,$txt)
{
return '{"status":'.$status.',"txt":"'.$txt.'"}';
}
Codeiginter 是否为 JSON 使用了一些额外的东西,或者我真的错过了一些重要的东西?