jQuery的$.post中function(data)返回的数据 要怎么取出来用啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery的$.post中function(data)返回的数据 要怎么取出来用啊相关的知识,希望对你有一定的参考价值。

我在JS函数中写:
function initialize(cc)

$.post("some1.php",value:cc,function(data)alert(data););
alert(data);

我想把变量cc传到后台用php处理 然后返回两个数组

但是我想把这两个数组在js function initialize中分别使用 该怎么做呢

像上面那个程序 function(data)里的alert(data)就能显示 而外面的alert(data)就不行 而且我还想把这两个数组分别赋给两个变量 求前辈指点啊

你把你的数组返回值中间用个符号分割,比如分号["a1","b1"];["a2"',"b2"],然后用split";"进行分割就可以分开使用了。
var t = "['a1','b1'];['a2'','b2']";
var ts = t.split(";");
alert(ts[0]);
alert(ts[1]);

下面这个写法写错了
function initialize(cc)
var html;
$.post("some1.php",value:cc,function(data)var html=data;,"json");
alert(html);

不应该在function(data)里面申明var html,否则html会变成这个方法的体局部变量。你应该改成。
function initialize(cc)
var html;
$.post("some1.php",value:cc,function(data)html=data;,"json");
alert(html);

但是即便这样改了,alert(html)仍然是空。
你还没有搞清楚ajax的逻辑。ajax是异步的。function(data)里的内容是延迟执行,在你最后alert(html)的时候,function(data)还没有执行,所以alert(html)永远是空。
参考技术A function initialize(cc)
var html;
//加上这句
$.ajaxSettings.async=false;
$.post("some1.php",value:cc,function(data)var html=data;,"json");
alert(html);
参考技术B 你在函数外面定义一个变量,然后在function里面把data赋值给这个变量不就OK了么追问

我把程序改成了这样
function initialize(cc)
var html;
$.post("some1.php",value:cc,function(data)var html=data;,"json");
alert(html);

还是不行 弹出对话框说 undefined

Ajax

1.jquery-1.7.2.js版本ajax用法
<script type="text/javascript">
jQuery(function () {
jQuery(‘#btn‘).click(function (){
var t = jQuery(‘#frm‘).serialize();
console.log(t);
jQuery.post("updatedaily.do",t,function (data){
var t = eval(‘(‘ + data + ‘)‘);
console.log(t.msg);
alert(t.msg);
window.location.href="findAllDaily.do";
})
})
})
</script>
2.jquery-1.8.3.js版本ajax用法
<script type="text/javascript">
$(function () {
$(‘#btn‘).click(function (){
var t = $(‘#frm‘).serialize();
console.log(t);
$.post("updatedaily.do",t,function (data){
var t = eval(‘(‘ + data + ‘)‘);
console.log(t.msg);
alert(t.msg);
window.location.href="findAllDaily.do";
})
})
})
</script>




























以上是关于jQuery的$.post中function(data)返回的数据 要怎么取出来用啊的主要内容,如果未能解决你的问题,请参考以下文章

javaweb基础----使用jquery的ajax

jQuery的$.post中function(data)返回的数据 要怎么取出来用啊

JQuery 传递数组到后台后台 后台接收不到参数

struts2.1 和ajax实现二级下拉框联动,使用jquery、json,代码怎么实现。

jquery $.post 在加载回调函数中不起作用?

JQUERY的AJAX中 get()post()的跨域方法