ajax获取到json数据怎么显示在jsp页面tb上?

ajax获取到json数据怎么显示在jsp页面tb上?,第1张

第一步:在你的Action中创建一个json数据

public class AjaxAction extends ActionSupport{ /** * */private static final long serialVersionUID = 1Lprivate String resultpublic String getResult() { return result} public void setResult(String result) { this.result = result}public String getjson() { JSONObject json = new JSONObject()json.put("name","张三")json.put("password","123456")result=json.toString()return SUCCESS}

第二步:编写struts.xml文件中的内容

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"><struts><!-- 设置开发者模式 修改action中的名字可以不用重启服务器 --><constant name="struts.devMode" value="true"></constant><!-- 只有在后缀中有(.do)的才经过,这个value可以自己修改 --><constant name="struts.action.extension" value="do"></constant><!-- 开启动态方法调用 --><constant name="struts.enable.DynamicMethodInvocation" value="true"/><package name="default" extends="json-default" namespace=""><action name="ajax" class="com.action.AjaxAction" method="getjson"><result name="success">/ajaxjson.jsp</result><result type="json" ><!-- 这里指定将被Struts2序列化的属性,该属性在action中必须有对应的getter方法 --><param name="root">result</param></result></action></package></struts>

凡是使用Struts2序列化对象到JSON的action,所在的package必须继承自json-default,注意,这里唯一的result,没有指定name属性。parm设置name=“root”表示局部刷新,返回根目录页面.

第三步:首先先了解Ajax的原理:这是用jQuery做的,需要引 js

function testCheck(num){ $.ajax({ type:"post",//提交方式url:"TestCheckServlet",//提交地址async:true,//是否异步请求dataType:"html",//返回类型data:{"num":num},//传过去的值success:function(data,textStatus){//成功执行的方法var json=eval("("+data+")")//将传过来的数据转json,也可以传过来就是json数据免得麻烦转 alert(json.name)}, error:function(){//失败执行的方法alert("error")} }) }

思路:

1、在input的onblur事件中进行验证。

2、通过ajax发送手机号给后台Servlet。

3、Servlet对手机号进行数据库查询,返回是否存在的文字给ajax。

4、ajax收到返回文字后,显示到标签上。

总结:Ajax能够让浏览器和服务器进行交互,并且在不刷新页面的情况下对网页内容进行更新,大大提高了用户体验,通过Ajax技术能够构建交互性极强的Web应用程序。

首先要明白ajax的基本格式,参考下面的内容,可以发现,success是请求成功后服务器返回的数据,接收只需要把回调函数的值处理就可以了,如:

response:即为服务器返回的数据,例如:{"uid":123,"name":"jghdream"},

如下输出即可:

....

success: function(response){

        console.log(response.uid)

        console.log(response.name)

}

.....

以下是ajax的一些参数:

$.ajax({ 

    type:'post',

    url:'/testajax.php',

    dataType:'json',

    data:{uid:uid,rands:Math.random()},

    success: function(){

        alert('ajax return success')

}})

url,类型:String,默认值: 当前页地址。发送请求的地址

data, 类型:String,发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'

dataType,类型:String,预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被识别为 XML。在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:

"xml": 返回 XML 文档,可用 jQuery 处理。

"html": 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。

"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)

"json": 返回 JSON 数据 。

"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。

"text": 返回纯文本字符串

success,当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。

假设你从ajax获取字符串为 ajaxString,则可以这样获取ID:

var jsonData = JSON.parse(ajaxString);

var id = jsonData.result.ID


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

原文地址: http://outofmemory.cn/sjk/10858330.html

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

发表评论

登录后才能评论

评论列表(0条)

保存