Jquery用ajax获取数据后在页面取不到,确定后台已经传数据过来了是设置错误造成的,解决方法为:
1、打开HBuilderX工具,创建Web项目,新建静态页面ajaxhtml。
2、打开已新建的ajaxhtml文件,引入jquery文件并修改title标签内容。
3、在<body></body>标签中,插入一个div标签,并在div标签中插入一个table。
4、接着在项目中的data文件夹下,新建userjson文件。
5、打开userjson文件,添加json格式数据。
6、在<script></script>标签中,jquery初始化函数,调用ajax()方法读取json文件数据;返回成功后,将数据渲染加到table中。
ajax调用java后台的方法,其实是通过url链接来访问,示例如下:
package comxxxxxxxxservlet;
import javaioIOException;
import javasqlConnection;
import javasqlPreparedStatement;
import javasqlResultSet;
import javasqlSQLException;
import javaxnamingContext;
import javaxnamingInitialContext;
import javaxservletServletException;
import javaxservlet>
方式比较多:
@RequestMapping(value = "/add", method = RequestMethodPOST)public ModelAndView insert(> } @RequestMapping(value = "/add", method = RequestMethodPOST)
public ModelAndView insert(String name) {
Systemoutprintln(name);
return new ModelAndView();
}public class User{
private String name;
private int age;
//省略 get set
}
@RequestMapping(value = "/add", method = RequestMethodPOST)
public ModelAndView insert(User user) {
Systemoutprintln(usergetName());
return new ModelAndView();
}
1 ObjectMapper objectMapper=new ObjectMapper(); orgcodehausjacksonmapObjectMapper;包下的
2 Object[] obj=objectMapperreadValue(数据,类型class)
比如你传的是json 数组对象,
String[] str=objectMapperreadValue(data,String[]class)
3 数组转成list
List list=ArraysasList(str);
4 额外提供小知识。ajax 认识json格式 ,所以后台json格式返回给ajax 不需要转化
如果前台格式是jquery, 比如常用的datagrid 中的就是jquery对象
这时候你需要把json转化成jquery对象
var da = eval('('+data+')'); data 为json格式数据
纯手打。我叫雷锋
后台解析ajax传递的数据,这主要看前端传递数据的格式,主要有以下几种常见的。
1、前端ajax传递表单数据,类似{name:'zhangsan',age:'17'}
后台只需利用requestgetParameter("name")形式即可获取对应的value值。
2、前端传递json数据格式。后台可以直接获取json字符串,然后利用相关的API转成对应的Java对象。或者直接利用springMvc的注解@RequestBody注解。
@RequestMapping(value = "/save")
public void save(@RequestBody User user){
}
这样传递的json数据会自动封装成user对象。
如果当前传递的是一个json数组,则后端可以定义一个VO对象,vo对象中存放一个userList。
public class UserVO{
private List<User> dataList;
}
@RequestMapping(value = "/save")
public void save(@RequestBody UserVO userVO){
你是说向后台发送还是从后台获取?
首先ajax不能发送字节流数据,如果要通过ajax获取的是的话,可以将数据进行base64编码,转成字符串再传输。浏览器可以直接使用这些数据显示的(IE6、7除外,IE8有限制)
接收ajax传过来的数据
客户端代码:
<script type="text/javascript">
function checkUser(ouser){
var uname=ouservalue;
if(!uname){
alert("用户名不能为空");
ouserfocus;
}
//发送请求到服务器,判断用户名是否存在
//Ajax代码实现
// 发送请求到服务器,判断用户名是否存在
// 请求字符串
/ar url = "servlet/doReguname="+uname; //GET 方式
var url = "servlet/doReg"; //POST 方式
var userinfo="uname="+uname;
// 1 创建XML>
以上就是关于Jquery用ajax获取数据后在页面取不到,确定后台已经传数据过来了。全部的内容,包括:Jquery用ajax获取数据后在页面取不到,确定后台已经传数据过来了。、ajax调用java后台的一个方法、ajax通过post方式传参给后台controller,怎么获取传过来的参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)