Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
codeigniter在ajax之后获取URL_Codeigniter_Url - Fatal编程技术网

codeigniter在ajax之后获取URL

codeigniter在ajax之后获取URL,codeigniter,url,Codeigniter,Url,我试图在我发出ajax请求后获取我在浏览器上看到的URL,但问题是它会用ajax URL更改URL 前 我在domain.com/user/username上 我调用的ajax URL位于domain.com/posts/submit 当我在提交函数中的posts控制器上回显$\u服务器['REQUEST\u URI']时,它将显示第二个URL,而不是第一个URL。。。我如何确保ajax函数的第一个功能是100%有效,并且不会被用户更改以防止任何错误操作 谢谢,但是我不知道这是否适用于javas

我试图在我发出ajax请求后获取我在浏览器上看到的URL,但问题是它会用ajax URL更改URL

我在
domain.com/user/username上

我调用的ajax URL位于
domain.com/posts/submit

当我在提交函数中的posts控制器上回显$\u服务器['REQUEST\u URI']时,它将显示第二个URL,而不是第一个URL。。。我如何确保ajax函数的第一个功能是100%有效,并且不会被用户更改以防止任何错误操作

谢谢,但是我不知道这是否适用于javascript请求。另一个问题是:它不适用于所有浏览器

您可以尝试以下操作:

1.)当用户访问
domain.com/user/username
时,当前URL将与令牌一起保存到数据库中,比如说
5299sQA332
,令牌通过PHP提供给Javascript

2.)ajax请求将通过POST向控制器发送此令牌以及所需的其他变量

3.)在ajax控制器中,您在数据库中搜索给定的令牌
5299sQA332
,在那里您有了第一个URL,您可以非常肯定,它没有被人工填充


:)

如果我理解正确,您想确保ajax调用来自它应该位于的页面吗?在这种情况下,只需在调用时传递令牌即可

在控制器函数中,在会话中设置令牌变量

public function username() {
  $this->session->set_userdata('ajax_token', time());
}
然后在视图中使用js

$.ajax({
    url: '/user/username',
    type: 'post',
    data: 'whatever=bob&token='+<?php echo $this->session->userdata('ajax_token'),
    success: function( data ) {

  },
     error: function( data ) {

  }
});
$.ajax({
url:“/user/username”,
键入:“post”,

数据:“whatever=bob&token=”+你看过CodeIgniter的吗


我使用了javascript,它似乎可以工作…希望以后不会有任何问题

附言:我不明白为什么我的另一个答案被删除了。不管怎样,这就是答案

$this->input->get('something', TRUE);