thinkphp接收不到ajax传递的post数据排查这个问你你需要重两个地方入手,确定传递的所有数据是否都取到,使用console.log(内容)打印出你要传递的值,这里没问题直接访问你php的方法随便输出一个字符,取到值了也能访问了,一般接收就没问题了
PHP接收Ajax POST到数据建议你使用jquery 然后利用jquery中php接受ajax数据的post
实现 。jquery实现ajax简直太easy了 给你php接受ajax数据我的代码
$('#login_btn').click(function() {
var name=$('#username').val();//获取用户名
var psw3=$('#psw').val();//获取密码
if(name=="")
{
alert("用户名未填写");
return false;
}
if(psw3=="")
{
alert('密码不能为空');
return false;
}
var url = base_url 'index.php/user/user_contr/login';//php服务端地址
var sendData = https://www.04ip.com/post/{
'name':name,
'psw':psw3
};//构造post数据
$.post(url,sendData,function(data) {//实现ajax
if(data.indexOf('error')!=-1) //data是你在php 端 echo的信息
{
alert('登录失败');
return false;
}else
{
alert('登录成功');
}
});
return false;
});
thinkphp怎样获取ajax请求数据一般将前台页面搜索结果中,不喜欢php接受ajax数据的内容(链接),删除掉,因为整个网站php接受ajax数据的编程框架式thinkphp,运用js中的ajax对页面进行响应,调用后台php接口,实现前台和后台数据库的同时更新.
首先php接受ajax数据我们需要做的就是在前台页面中添加一个文本“删除”,可以这么添加:
代码如下:
a href="https://www.04ip.com/post/javascript:void(0);" id= "phpecho $val[id]/php" class="delete" 删除/a
上面的html代码的意思:就是给删除添加一个hrefphp接受ajax数据,这个href是个js函数,类似于超链接的作用,当然对于我这样的新手在刚开始的时候会有疑惑,我们平时的超链接不是这样的,网页中很多的javascript:void(0),那程序怎么知道用户点击删除后,会响应其真正对应的js函数呢?别急,这就是为什么会为删除添加id以及class这样的标签,相信我把js中的代码公布出来以后php接受ajax数据你就会明白了,代码如下:
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($result0){
$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();
});
【php接受ajax数据 ajax获取php的值】关于php接受ajax数据和ajax获取php的值的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- linux命令在哪个位置,linux中命令详解
- html5唤醒百度地图app,百度地图html5页面定位
- 全奖博士gis,全奖博士多少钱
- 查看python函数用法 如何查看python函数
- 关于js给inputclick事件的信息
- 童鞋直播话术大全,童鞋直播话术大全集
- linux命令是 linux命令是由什么提供的
- 简洁响应式html5模板的简单介绍
- 如何用python爬虫百度搜索,python爬虫搜索引擎