① jquery通过ajax调用php取得返回值
返回数据代码如下:
② 怎样通过 Ajax 触发 PHP 跳转页面
执行ajax发送请求到PHP页面,PHP是属于服务器端的。ajax是客户端的。如果发送请求后需要跳转到指定页面,只能从客户端发起了。也就是说要等本地返回服务器端PHP输出的结果文字或代码,使用JS来判断跳转。文字可能看不明白,代码吧:
html ajax页面javascript代码,这里使用了jquery库:
$.ajax({
url: "test.php",
success: function(html){
if (html.error == true)location.href=html.url }
});
服务器PHP输出的代码:
{error: true, url: "http://163.com/"}
③ 请问ajax有没有办法让某段php代码重新执行
php_ajax.php 要接受的信息是:删除商品N或者添加商品N,同理现有的商品信息全部传到服务端去更新下也行
php_ajax.php 要返回的信息是:服务端购物车的商品信息,当然也可以让php直接把商品信息返回到cookies里面 商品1, 商品2 (....)
--------------
浏览器端你这样写:用户更改购物车的时候你把商品1,商品2,... 这一块代码全部清空,然后用ajax请求服务端的购物车信息,根据php服务端返回的商品信息重写这一块,当然服务器端返回到cookies里面就从cookies里面取数据,这样操作你会感觉轻松不少,也简单不少。
--------------
为了用户用户体验,用户更改购物车的时候不要直接清空商品信息,而是等服务端返回数据的时候再清空重写,(我上面那样写实便于理解)这样就不用来来回回一个一个商品去修改了!
④ 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)
{
//.....验证存在否,输出
}
?>
⑤ jquery通过ajax调用php取得返回值,怎么做
返回数据代码如下:
⑥ 怎样通过 Ajax 触发 PHP 跳转页面
执行ajax发送请求到PHP页面,PHP是属于服务器端的。ajax是客户端的。如果发送请求后需要跳转到指定页面,只能从客户端发起了。也就是说要等本地返回服务器端PHP输出的结果文字或代码,使用JS来判断跳转。文字可能看不明白,代码吧:
html ajax页面javascript代码,这里使用了jquery库:
$.ajax({
url: "test.php",
success: function(html){
if (html.error == true)location.href=html.url }
});
⑦ 怎么用一个ajax把一个div里的数据提交给后台的php执行呢,就是保存
写一个jQuery的示例,假设要获取<divid="content">123</div>的内容并保存;
up.php页面只要向正常的表单一样用$_POST['text']就可以获取到传递过去的参数了。
⑧ AJAX如何调用PHP接口,获取数据在前台页面展示
//js
$.ajax({
async: false,
url:url,//后台地址
type:'GET',
dataType:"json",
success: function(data){
//data,后台返回数据
},
error: function(){
alert("输出错误");
}
});
//后台函数
public function get_content(){
$lists = M('bbs_note')->select();//获取数据库数据
if(!empty($lists)){
$this->ajaxReturn($lists);//返回数据
}
}
⑨ 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发起了请求,并且携带了参数。
可以使用浏览器的“审查元素”功能来查看异步请求的执行状况。
以360浏览器为例:
1、按下F12后会打开审查元素窗口。
本例中请求名称为sug,携带了参数是kw=1。请求的方式是post请求。
如果是get请求,可以使用$_GET来获取。
如果是post请求,可以使用$_POST来获取。
所以本例在服务端使用$_POST['kw']即可获取到值"1"。