thinkphp怎样获取ajax请求数据

thinkphp怎样获取ajax请求数据,第1张

一般将前台页面搜索结果中,不喜欢的内容(链接),删除掉,因为整个网站的编程框架式thinkphp,运用js中的ajax对页面进行响应,调用后台php接口,实现前台和后台数据库的同时更新

首先我们需要做的就是在前台页面中添加一个文本“删除”,可以这么添加:

代码如下:

<a href="javascript:void(0);" id= "<php>echo $val[id]</php>" class="delete" >删除</a>

上面的html代码的意思:就是给删除添加一个href,这个href是个js函数,类似于超链接的作用,当然对于我这样的新手在刚开始的时候会有疑惑,我们平时的超链接不是这样的,网页中很多的javascript:void(0),那程序怎么知道用户点击删除后,会响应其真正对应的js函数呢?别急,这就是为什么会为删除添加id以及class这样的标签,相信我把js中的代码公布出来以后你就会明白了,代码如下:

jQuery("list adelete")click(function(){

if(confirm("你确定要删除吗?")){

var _this=this;

var id = jQuery(_this)attr("id");

jQueryajax({

url : '/Search/indexphp/Jason/delete',

data : {'id':id},

dataType : 'json',

success : function(data){

var del = datadel;

if(del == 1){//删除成功

jQuery("#"+id)parents("list")remove();

}else{//删除失败

alert("删除失败");

}

}

});

}

});

大家看函数的头部:jQuery("list adelete")click(),jQuery后面的标签是很重要的,这就保证了jquery很准确的响应页面中用户点击的“位置”,添加的事件为click(),在click里添加响应事件的代码:var id = jQuery(_this)attr("id");获取a对应的id,因为这个id是我们删除数据库时用到的链接id,当然这种直接明文的方式不好,在这里只是介绍整个响应过程。调用ajax,实现异步的运行整个过程。我们设置了js接受的是json串,这里的方式应该有很多种吧,我没有去尝试,大家要是有兴趣可以自行尝试一下。/Search/indexphp/Jason/delete这句话就是js去请求php的接口,php接口对用的代码如下:

注意ajax在求php接口时的路径,也就是delete函数必须放在JasonActionclassphp中,此例子是必须这样的:

代码如下:

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($result > 0){

$arr = array("del"=>'1');

}else{

$arr = array("del"=>'0');

}

$json_str = json_encode($arr);

echo $json_str;//返回给js

}

}

}

相信大家对上面的代码不会陌生吧,整个过程都是thinkphp框架内部配置完毕的

var del = datadel;这句是接受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();

});

场景:

springMVC+jquery+ajax+jsp实现在页面中输入数字后,点击按钮,表单中自动加载指定行数据。

1、user实体类

2、创建controller组件类。

toDymyuser()方法用于跳转到jsp页面

getMyUserClass()方法用于jsp页面的数据加载来源

3、新增jsp页面

1)、获取当前服务路径bathpath

2)、引入jquery包,这里直接使用的是 >

ajax是做请求的,一般使用他的异步请求,至于你所说的动态添加dom元素,可以在回调中使用

$ajax({

    url: 'xxxx',

    data: 'xxx',

    success: function(){

        //你可以在这里使用js代码,动态改变你的DOM元素

    }

});

谢谢

$("#logstore")append("<option value="+value+">"+name+"</option>");

这个$后面的点去掉

好长一串代码,不明白你问的点在哪?如果你是问在js语句行使用thymeleaf的语法的话,那么你可以试试inline的语法 [[ 表达式 ]]

例子: $ajax('/apidata=[[${myBeandata}]]', );

网络爬虫我不懂,你要获取天气网上面的数据,可以根据它提供的wsdl,用webservice去获取,

还有ajax请求,过去,如果成功后,返回的是json数据的话,取决于服务端,如果服务端没有json格式的数据让你返回的话,你应该是拿不到json数据的吧

以上就是关于thinkphp怎样获取ajax请求数据全部的内容,包括:thinkphp怎样获取ajax请求数据、jquery+ajax实现动态加载表单、怎么 获取ajax动态添加的dom元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9573588.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存