当前位置:首页 » 编程语言 » php判断是否ajax

php判断是否ajax

发布时间: 2022-12-26 02:36:39

Ⅰ thinkphp怎样获取ajax请求数据

一般将前台页面搜索结果中,不喜欢的内容(链接),删除掉,因为整个网站的编程框架式thinkphp,运用js中的ajax对页面进行响应,调用后台php接口,实现前台和后台数据库的同时更新.
首先我们需要做的就是在前台页面中添加一个文本“删除”,可以这么添加:
代码如下:

<a href="javascript:void(0);" id= "<php>echo $val[id]</php>" class="delete" >删除</a>
上面的html代码的意思:就是给删除添加一个href,这个href是个js函数,类似于超链接的作用,当然对于我这样的新手在刚开始的时候会有疑惑,我们平时的超链接不是这样的,网页中很多的javascript:void(0),那程序怎么知道用户点击删除后,会响应其真正对应的js函数呢?别急,这就是为什么会为删除添加id以及class这样的标签,相信我把js中的代码公布出来以后你就会明白了,代码如下:
jQuery(".list a.delete").click(function(){
if(confirm("你确定要删除吗?")){
var _this=this;
var id = jQuery(_this).attr("id");
jQuery.ajax({
url : '/Search/index.php/Jason/delete?',
data : {'id':id},
dataType : 'json',
success : function(data){
var del = data.del;
if(del == 1){//删除成功
jQuery("#"+id).parents(".list").remove();
}else{//删除失败
alert("删除失败");
}
}
});
}
});

大家看函数的头部:jQuery(".list a.delete").click(),jQuery后面的标签是很重要的,这就保证了jquery很准确的响应页面中用户点击的“位置”,添加的事件为click(),在click里添加响应事件的代码:var id = jQuery(_this).attr("id");获取a对应的id,因为这个id是我们删除数据库时用到的链接id,当然这种直接明文的方式不好,在这里只是介绍整个响应过程。调用ajax,实现异步的运行整个过程。我们设置了js接受的是json串,这里的方式应该有很多种吧,我没有去尝试,大家要是有兴趣可以自行尝试一下。/Search/index.php/Jason/delete?这句话就是js去请求php的接口,php接口对用的代码如下:
注意ajax在求php接口时的路径,也就是delete函数必须放在JasonAction.class.php中,此例子是必须这样的:
代码如下:

public function delete(){
if($this->isGet()){
$userId = session("uid");//用户登录
if(!empty($userId)){
$a = M('***');
$id = $this->_get('id');
$result=$a->where("id=$id")->delete();//删除
if($result > 0){
$arr = array("del"=>'1');
}else{
$arr = array("del"=>'0');
}
$json_str = json_encode($arr);
echo $json_str;//返回给js
}
}
}

相信大家对上面的代码不会陌生吧,整个过程都是thinkphp框架内部配置完毕的.
var del = data.del;这句是接受php代码返回来的json串中del这个key的value,进而在前台进行页面更新和响应.

复制代码代码如下:
if(del == 1){//删除成功
jQuery("#"+id).parents(".list").remove();//这句话就是后台删除成功后,直接在前台对响应的div进行删除,这样性能就会很快,无需进行后台数据的重新提取至前台页面中,
}else{//删除失败
alert("删除失败");
}
整个响应的过程就是这样,至于效果优化,是优化和细化方面的问题,后来,身边的同事又告诉我前台移除响应链接的另一个动态效果:
即将:
代码如下:
jQuery("#"+id).parents(".list").remove();
替换为:
代码如下:

jQuery("#"+id).parents(".list").slideUp("slow", function(){
jQuery(this).remove();
});

Ⅱ ajax与PHP

所谓的异步,就是一部分内容先提交,然后有内容来处理从服务器放回的数据,而整体页面不进行更改,js处理页面的数据,而php处理后台的数据处理,两者相互结合,形成了Ajax,当然,后台处理程序俺,可以使用任何后台处理,比如jsp,asp,aspx,php等

Ⅲ php ajax题目(对我来说很难),求大神

<?php
if(isset($_GET['ucode'])){
session_start();
if($_GET['ucode']==$_SESSION['code']){
exit('OK');
}else{
exit('NO');
}
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<input type="text" id="ucode" oninput="check()"/>
<img id="code" src="code.php" onclick="this.src='code.php?v='+Math.random()"/>
<img id="f" src="error.png"/>
<script>
function check(){
var ucode=document.getElementById('ucode').value;
if(ucode){
var f=document.getElementById('f');
var xmlhttp=new window.XMLHttpRequest();
xmlhttp.open('GET','usecode.php?ucode='+ucode,true);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
if(xmlhttp.responseText=='OK'){
f.src='right.png';
}else{
f.src='error.png';
}
}
}
}
}
</script>
</body>
</html>

Ⅳ php的ajax问题。异步发送到服务器的log.php页面,请问log.php里面还有其他与aja

楼主,你好,你的意思是,log.php这个页面上代码有很多,但你通过ajax只希望执行其中的一部分吧,那就很好办了,直接ajax请求的时候GET传一个action=li8的值,然后只需要在log.php的页面判断一下, 如果接收到GET["action"]=="li8"的话,就执行对ajax请求过来的代码,反则就是其他代码的执行,与ajax处理的代码就用if区分开了!

Ⅳ 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,否则是普通提交。

Ⅵ ajax 怎么判断 php传输过来值

if ($_REQUEST['act'] == 'c**ignee_list')
{
/*
* 检查用户是否选择匿名购物
*/
if (isset($_REQUEST['direct_shopping']))
{
$_SESSION['direct_shopping'] = 1;
}

/*
* 检查用户是否已经登录
* 如果用户已经登录了则检查是否有默认的收货地址
* 如果没有登录则跳转到登录和注册页面
*/
if (empty($_SESSION['direct_shopping']) && $_SESSION['user_id'] == 0)
{
/* 用户没有登录且没有选定匿名购物,转向到登录页面 */
$result['error'] = 1;
$result['message'] = '对不起,您没有登录或者您未选择匿名购物!';
echo $json->encode($result);
exit;
}
}
echo $json->encode($result);
$('#addr_modify').click(function(){

$.ajax({
type: "POST",
url: "flow_ajax.php?act=c**ignee_list",
cache: false,
data: "&m=" + Math.random(),
beforeSend:function(){$('#addr_modify').html('[获取中...]')},
success:function(data){
re = $.evalJSON(data);
alert(re.message);
if(re.error == 1)
{
alert(re.message);
window.location.href="flow.php?step=cart" + "&m=" + Math.random();
return;
}
else if(re.error == 2)
{
alert(re.message);
window.location.href="flow.php?step=c**ignee";
return;
}

$('#addr_modify').hide();
$('#addr_okbox').hide();
$('#addr_editbox').show();
// $('#addr_editbox').html(re.content_list);
// $('#addr_edit_table').html(re.content_table);
}
})
});
flow_ajax.php

define('IN_ECS', true);

require(dirname(__FILE__) . '/includes/init.php');

require(ROOT_PATH . 'includes/cls_json.php');

if (!isset($_REQUEST['act']))

{

/* 只有在没有提交评论内容以及没有act的情况下才跳转 */

ecs_header("Location: flow.php\n");

exit;

}

$json = new JSON;

$result = array('error' => 0, 'message' => '', 'content' => '');

$result['message'] = '已接受请继续';

echo $json->encode($result);

Ⅶ php ajax验证用户名是否存在

$("button").click(function(){
$.get("ajax_login.php",{username:'testname'},function(result){
if(result){//判断已经存在
alert('用户名已经存在');
}else{
alert('可以注册');
}
});
});


给你一个js端,可以结合楼上勰莫莫的服务端一起用

Ⅷ thinkphp中怎么用ajax

第一.tp中ajax的url需要使用大U方法.比如:$.post("{:U('User/add')}")

第二.控制器中返回结果得第一种方法.$this->error('失败','',true); 第三个参数为true.则发挥的是json数据.包含info.status.url三项.

第三.控制器中返回结果的第二种方法.$this->ajaxReturn(array('customKey1'=>'customValue1','customKey2'=>'customValue2','customKey3'=>'customValue3')).

Ⅸ PHP如何判断是否为AJAX请求

  • <spanstyle="font-size:18px;">/**

  • *是否AJAX请求

  • *@accessprotected

  • *@returnbool

  • */

  • protectedfunctionisAjax(){

  • if(isset($_SERVER['HTTP_X_REQUESTED_WITH'])){

  • if('xmlhttprequest'==strtolower($_SERVER['HTTP_X_REQUESTED_WITH']))

  • returntrue;

  • }

  • if(!empty($_POST[C('VAR_AJAX_SUBMIT')])||!empty($_GET[C('VAR_AJAX_SUBMIT')]))

  • //判断Ajax方式提交

  • returntrue;

  • returnfalse;

  • }</span>

热点内容
g92编程 发布:2025-05-17 21:00:31 浏览:170
汇编语言第三版脚本之家 发布:2025-05-17 20:54:26 浏览:399
资源配置最佳状态叫什么 发布:2025-05-17 20:48:58 浏览:84
定义dns服务器的ip 发布:2025-05-17 20:32:37 浏览:954
android判断图片 发布:2025-05-17 20:32:33 浏览:833
安卓12什么时候适配小米 发布:2025-05-17 20:31:47 浏览:71
c语言字符串初始化 发布:2025-05-17 20:18:43 浏览:37
安卓融e联推送需要什么权限 发布:2025-05-17 20:18:39 浏览:269
我的世界无限武魂服务器 发布:2025-05-17 20:17:09 浏览:372
安卓手游脚本语言 发布:2025-05-17 19:53:07 浏览:22