0

如果电子邮件已经存在于我的数据库中,我会使用它来检查我的注册页面:

$('#email').blur(function() {
  var email = $(this).val();
  $.post('ajax/get_request/check',{key:"email",value:email},function(data) {
    alert(data);
  });
});

它确实工作正常。但是,我注意到,如果我通过浏览器的 URL 地址栏访问 ajax 路径http://example.com/ajax/get_request/check,则显示为空白。value如果为空,我尝试使用此脚本进行重定向。

//controller.php
public function check($key=NULL,$value=NULL)
{
  if(is_null($value)) redirect(base_url(),'refresh');
  // ... more scripts below ...
}

但这会影响我在注册时的 ajax 请求响应。我想在这里实现的是检测用户是否通过注册表单而不是直接在 URL 浏览器上键入路径时访问 ajax。

4

1 回答 1

2

你可以用这个

$this->input->is_ajax_request()

检查传入的请求是否是 ajax 请求。这在 codeigniter2 中可用

在您的控制器中,

if($this->input->is_ajax_request()){
    //do your stuffs
}else{
  die("Access Prohibited.");
}
于 2012-04-25T09:08:48.790 回答