首页 > 编程知识 正文

ajax嵌入php代码,php ajax 实现

时间:2023-12-28 11:56:41 阅读:327566 作者:EIBT

本文目录一览:

php:使用ajax是怎样和php文件连接在一起的?

通过GetXmlHttpObject()对象的一些方法和PHP通信的。比如下面这段xmlHttp=GetXmlHttpObject();

if (xmlHttp==null)

{

alert ("您的浏览器不支持AJAX!");

return;

}

var url="getcustomer.php";

url=url+"?q="+str;

url=url+"sid="+Math.random();

xmlHttp.onreadystatechange=stateChanged;

xmlHttp.open("GET",url,true);

xmlHttp.send(null);

}

服务器端可以通过$_GET获得变量q的值,从而作出反应

php +ajax代码详解 大神!

你是在浏览器中同时打开1.php和2.php吗?

怎么会有两个表单,在不同的页面上?

然后,你那个0.js文件是拿来做什么的?

ajax调用PHP类库中的函数

直接调用不可能,但可以绕过去调用

a.php

?php

$_token = md5(time());//令牌

$_SESSION['_TOKEN'] = $_token;

//....

?

html

...

form

input name="_TOKEN" value="?php print $_token; ?"

....

//这里说一下令牌,令牌一般是服务器端验证提交数据是否为合法

//与验证码功能差不多,不过验证码需要手动输入,这个是程序内部使用

...

处理post

?php

if($_POST['_TOKEN'] == $_SESSION['_TOKEN'])

{

$_SESSION['_TOKEN'] = '';//清除令牌,防止网络延缓的再次提交。

...

}

?

然后是ajax

上面我为什么要在你原来的程序上加入令牌呢,因为可以随意的调用php函数是很不安全的,很容易被有心人利用,所以做一点安全保护,当然不一定绝对安全

function _new_ajax()

{

//创建XMLHTTPRequests

return xhr;

}

function _ajax(_option)//url, data, type, async

{

//初始化

if(typeof _option.url == 'undefined' || _option.url == '')

{

alert('ajax错误,没有定义请求路径');

return false;

}

_option.data = _option.data || {};

_option.type = _option.type || 'GET';

_option.async = _option.async || true;

_option.callback = _option.callback || function(){};

//开始请求

var xhr = _new_ajax();

if(typeof _option.data == 'string')

{

_option.url += (_option.url.match(/?/) ? "" : "?") + _option.data;

}

else

{

for(var i in _option.data)

{

_option.url += (_option.url.match(/?/) ? "" : "?") + i + '=' + _option.data[i];

}

}

xhr.open(_option.type, _option.url, _option.async);

xhr.onreadystatechange = function(){

if(xhr.readyState == 4 xhr.status == 200)

{

var res = xhr.responseText;

_option.callback(res);

}

};

xhr.send(null);

xhr = null;

}

上面的是我简单写的,估计考虑不是很全

验证用户是否存在就这样

function check_user_id()

{

document.getElementById('useridexist').innerHTML = "Check the ID, Please wait...";

var user_id = document.login.userid.value;

//这里是上面说的,要直接使用函数库,必须安全验证

var _TOKEN = document.login._TOKEN.value;

_ajax({

url:'class/useridexist.php',

data:{_TOKEN:_TOKEN, function:check_user, id:user_id},//调用php函数check_user

callback:function(res){

document.getElementById('useridexist').innerHTML = res;

}

})

}

好了,准备就绪,现在看php端了

b.php

?php

if($_GET['_TOKEN'] == $_SESSION['_TOKEN'])

{

//这里不清除令牌,因为提交post还要使用,验证在前,提交post在后

$function = $_GET['function'];

if(function_exists($function))

{

$function($_GET);

}

else

{

print '函数'.$function.'不存在';

}

}

//以下为函数库

function check_user($get)

{

//.....验证存在否,输出

}

?

php如何和ajax搭配使用

需要先向目标Pager.php传值:

——即应该在ajaxSubmit()函数的“ var URL="Pager.php?active_time_start="+start_time+"active_time_end="+end_time;”语句上再加上改变后的sql语句,然后再在“Pager.php”文件内予以执行,然后再将其(即Pager.php)执行结果传回!

如:var URL="Pager.php?……end_timeSql=Sql;”

PHP中运用jQuery的Ajax跨域调用实现代码

可以在页面定义一个调用方法,如下:

复制代码

代码如下:

function

getData(){

$.getJSON("?",

{

"m":"data",//

指定php的文件名字

"act":"getdata",//

指定php文件中的方法

"name":"问题儿童"//

传入的参数

},

function(data)

{

//

获得返回值

}

});

}

对应链接下(123.123.123.123)的PHP文件,一般默认先调用index.php文件,通过index.php文件内的方法处理后,转到对应的php文件,并且找到对应的方法,执行之。

index.php代码如下:

复制代码

代码如下:

?php

/**

*

入口文件

*/

$string

=

$_SERVER["REQUEST_URI"];//

获取访问的url

$m

=

get_m($string);

$file_path

=

"app/".$m.".php";

define('IS_INDEX',true);//

阻止直接访问app目录

require

($file_path);

/**

*

*

获取访问php文件

*

@param

string

$url

*/

function

get_m($url){

$strings

=

explode('m=',

$url);

$res

=

explode("",

$strings[1]);

return

empty($res[0])?'index':$res[0];

}

?

data.php代码如下:

复制代码

代码如下:

?php

/**

*

data文件

*/

$act

=

!empty($_GET['act'])

?

$_GET['act']

:

'';

if

($act

==

'getdata')

{

$name

=

"我的名字叫:".$_REQUEST['name'];

echo

$_REQUEST["callback"]."(".json_encode($name).")";

}

?

成功调用后,画面就能获取到返回的json数据了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。