怎么样将jquery $.post返回的数据return?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么样将jquery $.post返回的数据return?相关的知识,希望对你有一定的参考价值。
ajax是异步的,所谓异步就是,你这个线程不会阻塞等带返回了再执行var data_from_something = $.post('something.html', function(data) return data);alert(data_from_something)
以上不成立
想异步执行,你只有在回调函数(就是那个function(data)) 里面去执行,这样来达到同步! 参考技术A var data_from_something = $.post('something.html', function(data)
return data
);
alert(data_from_something)
是这种吗? 参考技术B $.post(url,xx:xx,yy:yy,function(xxx)
alert(xxx);
);
xxx 就是返回值
jquery $.post()返回数据
javawe项目很多情况下需要通过$.post()进行前端和后端传递数据
格式是:
$.post(url,data,function(result,statue){
alert(result);
},"json");
$.post()这方法一共有四个参数。
参数 描述
URL 必需。规定将请求发送到哪个 URL。
data 可选。规定连同请求发送到服务器的数据。
function(data,status,xhr) 可选。规定当请求成功时运行的函数。
额外的参数:
data - 包含来自请求的结果数据
status - 包含请求的状态(“success”、“notmodified”、“error”、“timeout”、“parsererror”)
xhr - 包含 XMLHttpRequest 对象
dataType 可选。规定预期的服务器响应的数据类型。
默认地,jQuery 会智能判断。
可能的类型:
“xml” - 一个 XML 文档
“html” - HTML 作为纯文本
“text” - 纯文本字符串
“script” - 以 JavaScript 运行响应,并以纯文本返回
“json” - 以 JSON 运行响应,并以 JavaScript 对象返回
“jsonp” - 使用 JSONP 加载一个 JSON 块,将添加一个 “?callback=?” 到 URL 来规定回调
说明:data,是js文件从前端获取的值,用于给后台处理传递的值
格式是:var data={};
data.account = $("#account").val(); 说明:中间$("#account")是id为account,如果是class="account" ,则是$(".account")
data.passwd = $("#passwd").val();
data.ident = $("input[name=‘ident‘]:checked").val(); 表示获取到一组name="ident" 的input type="radio"的单选框的值
result,是后台传递给js文件的值
status,表示 包含请求的状态("success"、"notmodified"、"error"、"timeout"、"parsererror")
data和result的格式都是键值对
后台传递的写法
JSONObject json = new JSONObject();
json.put("resuMsg","该账户已经被注册!");
response.getWriter().print(json.toJSONString());
注意:如果对应的value是中文,别忘了设置字符集,这里采用utf-8,request和response一致即可
request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");
然后js端:
alert(result.resuMsg);
通过:result.键值 即可获得所传递的值。
##############################################################################################
很多人遇到
1.alert(result);可以出现json数据,但是result.resuMsg的结果是undefined
是因为忘记了最后的"json"
2.如果alert(result)就是undefined,那么就需要检查后端传递的数据,看看是否忽略了上面三步的哪一步。
##############################################################################################
切记谨慎,切莫忽略任何小的东西,耐心检查
以上是关于怎么样将jquery $.post返回的数据return?的主要内容,如果未能解决你的问题,请参考以下文章
jQuery的$.post中function(data)返回的数据 要怎么取出来用啊