您的位置:

ajax怎么访问php中的方法,ajax和php

本文目录一览:

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')).

简介:

国内翻译常为“阿贾克斯”和阿贾克斯足球队同音。Web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于Web的应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。

开发模式:

许多重要的技术和AJAX开发模式可以从现有的知识中获取。例如,在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已经在Web服务中包含了,就像现在的SOA。AJAX开发人员拥有一个完整的系统架构知识。同时,随着技术的成熟还会有许多地方需要改进,特别是UI部分的易用性。

AJAX开发与传统的CS开发有很大的不同。这些不同引入了新的编程问题,最大的问题在于易用性。由于AJAX依赖浏览器的JavaScript和XML,浏览器的兼容性和支持的标准也变得和JavaScript的运行时性能一样重要了。这些问题中的大部分来源于浏览器、服务器和技术的组合,因此必须理解如何才能最好的使用这些技术。

综合各种变化的技术和强耦合的客户服务端环境,AJAX提出了一种新的开发方式。AJAX开发人员必须理解传统的MVC架构,这限制了应用层次之间的边界。同时,开发人员还需要考虑CS环境的外部和使用AJAX技术来重定型MVC边界。最重要的是,AJAX开发人员必须禁止以页面集合的方式来考虑Web应用而需要将其认为是单个页面。一旦UI设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。

jquery ajax php 调用方法!

可以在jquery的ajax方法成功执行之后,执行相应的js代码

例如:index.html 页面

script language="javascript"

var id = 10;

$.ajax({

url:'ajax.php?action=ok',

type:'post',

data:'id='+id,

async : false,

success: function(data){

//可以在这里执行相应的js代码

$("#user_id").val(data);

}

});

/script

input type="text" name="user" id="user_id" value=""

input type="button" value="点击" onclick="check();"

ajax.php 处理页面

?php

if($_GET['action'] == 'ok'){

$id = $_POST['id'];

echo $id;

}

?

ajax怎么访问php中的方法

ajax异步传输,个人理解ajax和表单没有什么区别,只是表单刷新整个页面,ajax 在不刷新页面的情况下传送数据到后台并接收后台处理的结果,用post或get方法给php文件或主入口文件对应的方法传值,在对应的php文件有$_POST或$_GET 接受,就可以了

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)

{

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

}

?

ajax怎么读取后台php数据

其实就是发送一个网络请求,服务端输出的内容就是响应的内容,如jQuery

$.ajax(

    {

        url: '',     // 请求URL

        data: '',    // 请求时携带的参数

        type: '',    // 请求方式, GET/POST

        dataType: '',// 响应数据格式, text/json

        success: r = {

            // 请求成功时回调函数,参数 r 为服务端响应的内容

            console.log(r);  // 就是你说的后台数据

        },

        error: () = {

            console.error('fail'); // 请求失败

        }

    }

)

// 服务端响应内容

$data = [];   // 从数据库中获取的数据

echo json_encode($data);   // 响应客户端, 数据格式为 JSON