本文目录一览:
- 1、jquery ajax php 调用方法!
- 2、thinkphp中怎么用ajax
- 3、php 怎么判断是否ajax请求
- 4、如何通过php的curl模拟ajax请求,获取其返回值
- 5、php如何获取jquery ajax传递过来的值?
- 6、PHP如何调用JS函数并获取其返回的数据?
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;
}
?
thinkphp中怎么用ajax
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')).
掌握以上三点和ajax基本使用方法.那么在tp中使用ajax也就掌握了.简单的例子如下.伪代码,或许有错.
模板中:
script
$.post("{:U('User/add')",{uname:xiaoming,age:15},function(data){
//data接收返回数据
if(data.status == 1){
alert(data.info);
location.href = data.url;
}else{
alert('错误');
}
});
/script
控制器中:
public function add(){
if(IS_AJAX){
$name = I('post.name','','trim');
$age = I('post.age','','trim');
if($name $age){
//插入数据
$this-success('添加成功',U('User/index'),true);
}else{
$this-ajaxReturn(array(
'status' = 0,
'info' = '大爷,您没输入名字',
'url' = U('User/add')
));
}
}else{
return false;
}
}
大概就是这样子.至于剩下的$.ajax.$.getJson等等都是一样的道理
php 怎么判断是否ajax请求
思路:在你进行ajax请求的时候,设置一个文件头信息的变量,在php端判断这个信息是否存在以及是否等于自己设置的值,就可以知道是否是ajax请求了。
做法:js端发送头信息
对象.setRequestHeader("变量名","变量值");
如 xmlHttp..setRequestHeader("X_REQUESTED_WITH","XMLHttpRequest");
php端接受信息,注意此时接受的变量存在 $_SERVER['HTTP_变量名'];中,
如上面的例子则为$_SERVER['HTTP_X_REQUESTED_WITH'];
echo isset($_SERVER['HTTP_X_REQUESTED_WITH'])($_SERVER['HTTP_X_REQUESTED_WITH']=='XMLHttpRequest')?'it is ajax':'it is not ajax';
注释:js和jquery中有些许不同,自己注意一下,再者变量名字不要冲突了
附加:如果这是你自己的网站,你只是自己区别一下的话,这样就可以了,但是,它是防止不了别人盗用你的ajax数据的,因为这些都是可以模拟的,一个好的方法是设计session验证之类的。
如何通过php的curl模拟ajax请求,获取其返回值
这个需要配合js,打开一个html页面,首先js用ajax请求页面,返回第一个页面信息确定处理完毕(ajax有强制同步功能),ajax再访问第二个页面。(或者根据服务器状况,你可以同时提交几个URL,跑几个相同的页面)
参数可以由js产生并传递url,php后台页面根据URL抓页面。然后ajax通过php,在数据库或者是哪里设一个标量,标明检测到哪里。由于前台的html页面执行多少时候都没问题,这样php的内存限制和执行时间限制就解决了。
因为不会浪费大量的资源用一个页面来跑一个瞬间500次的for循环了。(你的500次for循环死了原因可能是获取的数据太多,大过了php限制的内存)
不过印象中curl好像也有强制同步的选项,就是等待一个抓取后再执行下一步。但是这个500次都是用一个页面线程处理,也就是说肯定会远远大于30秒的默认执行时间。
php如何获取jquery ajax传递过来的值?
方法和详细的操作步骤如下:
1、第一步,安装并配置PHP集成环境,以phpstudy为例,见下图,转到下面的步骤。
2、第二步,完成上述步骤后,在www目录中创建一个新的html文件(new1.html)和一个php(ab.php)文件,见下图,转到下面的步骤。
3、第三步, 完成上述步骤后,html文件首先引用所需的类库jquery文件,然后引用正文部分,以简单的表单提交为例,见下图,转到下面的步骤。
4、第四步,完成上述步骤后,html的javascript-ajax部分,以上一步正文中的cilik事件为例,见下图,转到下面的步骤。
5、第五步,完成上述步骤后,php文件的准备部分主要使用$ _POST接受ajax传输的数据,并且可以返回不同类型的数据。
例如回声结果或转码为json格式的json_encode数据将返回到前端进行处理,见下图,转到下面的步骤。
6、第六步,完成上述步骤后,结果显示:提交表单中的内容后,无需刷新即可显示该内容,见下图。这样,就解决了这个问题了。
PHP如何调用JS函数并获取其返回的数据?
人家问的是PHP调用JS函数。。。楼主,我可以很负责的告诉你,这是不可能的。PHP是在
服务器端
运行的脚本,而JS是在浏览器运行的脚本,你要调用可以,直接echo个script就可以,但是获取
返回值
是不可能的,只有让JS把返回值通过AJAX发送给PHP才可以。