php判断是否是ajax
① php判断数据是ajax提交还是普通表单提交
如果没有特别的约定 后台php 无法判断来自前台的请求 是AJAX 还是form..
如果你的需求需要 分别处理 AJAX 和form , 需要自己和后台约定, 比如 在form 里面额外加入一个隐藏域
<input type='hide' name= "isform"value="form">
后台就根据是否有 isform 来判断是否是 form
② PHP权限系统一些是AJAX请求,怎么处理
就跳转就行了,如果A标签直接访问,直接跳到错误页面,并返回403.
如果是ajax请求的话,这个请求会报错的,你只需要在 error 方法里监听403状态码,如果当前请求返回的是一个403, 你直接在客户端做提示就行了, 或者在客户端跳转到你的错误页去。
$.ajax({
//...
error:function(jqXHR){
if(jqXHR.status==403)returnwindow.location.href='error.html';
}
})
③ php判断当前请求是post还是get
具体的判断方法如下:
④ php ajax验证用户名是否存在
$("button").click(function(){
$.get("ajax_login.php",{username:'testname'},function(result){
if(result){//判断已经存在
alert('用户名已经存在');
}else{
alert('可以注册');
}
});
});
给你一个js端,可以结合楼上勰莫莫的服务端一起用
⑤ 如何用php判断ajax请求的来源地址
服务端获取客户端信息的唯一方式就是通过HTTP的header,如果客户端没有通过header或者是其它方式把客户端的信息传输到服务端,那么服务端是不可能得到任何信息的,再者是如果客户端提供信息了,但是服务端如果没有接收的方式,也是没有办法。回到这个问答,服务端获取请求来源的方式只有通过REFERER,而如果REFERER没有传输或者也没通过其它方式传输,那服务器端就得不到值。因为HTTP Headr传输的信息本身就是有限的。
⑥ PHP如何判断一个请求是否来源于本域并且是ajax请求
通过请求头的Referer属性可以获取来源,X-Requested-With属性(不代表ajax一定需要这个请求头属性)可以判断是否是ajax。但是请求头这种东西,也知道的,很容易伪造。如果仅仅是做业务上的判断,请求头就够了。
⑦ PHP判断一个请求是AJAX请求还是普通请求
可以根据 HTTP 头部HTTP_X_REQUESTED_WITH 来进行判断,适合绝大多数浏览器。
提供代码:
<?php
functionisAjax()
{
returnisset($_SERVER["HTTP_X_REQUESTED_WITH"])
&&$_SERVER["HTTP_X_REQUESTED_WITH"]==="XMLHttpRequest";
}
//使用
if(isAjax()){
echo"是AJAX请求";
}
不过,很多框架都包含判断 ajax 的方法哦,开箱即用。
⑧ PHP判断一个请求是Ajax请求还是普通请求
if(isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest"){
// ajax 请求的处理方式
}else{
// 正常请求的处理方式
};
⑨ thinkphp 验证是不是ajax提交
有两种方式,如下:
第一种方式:
PHP判断ajax请求的原理:
在发送ajax请求的时候,我们可以通过XMLHttpRequest这个对象,创建自定义的header头信息, 在jquery框架中,对于通过它的$.ajax, $.get, or $.post方法请求网页内容时,它会向服务器传递一个HTTP_X_REQUESTED_WITH的参数,php中就是在header一层判断是否是ajax请求,对应的根据$_SERVER['HTTP_X_REQUESTED_WITH']判断。
/**
* 当前请求是否ajax请求
*
* @access public
* @return bool
*/
function isAjax()
{
return isset($_SERVER['HTTP_X_REQUESTED_WITH']);
}
注意:
● 一般情况下$_SERVER['HTTP_X_REQUESTED_WITH']默认是XMLHttpRequest
● $_SERVER['HTTP_X_REQUESTED_WITH']也可以自定义创建的,使用XMLHttpRequest.setRequestHeader(name,value);参考文章:http://www.skygq.com/2011/01/04/php-check-request-from-ajax-or-normal/
第二种方式:
通过前台给php传一个type参数来判断,type=1则是ajax,否则是普通提交。