codeigniter在ajax之后获取URL
我试图在我发出ajax请求后获取我在浏览器上看到的URL,但问题是它会用ajax URL更改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
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);