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

我在JS函数中写:functioninitialize(cc){$.post("some1.php",{value:cc},function(data){alert(da... 我在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)就不行 而且我还想把这两个数组分别赋给两个变量 求前辈指点啊
展开
 我来答
dfaglory
推荐于2018-11-26 · 超过18用户采纳过TA的回答
知道答主
回答量:68
采纳率:100%
帮助的人:45.4万
展开全部
你把你的数组返回值中间用个符号分割,比如分号["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)永远是空。
百度网友2e14908
2019-09-13
知道答主
回答量:70
采纳率:100%
帮助的人:16.1万
展开全部
function initialize(cc) {
var html;
//加上这句
$.ajaxSettings.async=false;
$.post("some1.php",{value:cc},function(data){var html=data;},"json");
alert(html);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
还让不人注册啊
2013-07-02
知道答主
回答量:56
采纳率:0%
帮助的人:23.6万
展开全部
你在函数外面定义一个变量,然后在function里面把data赋值给这个变量不就OK了么
追问
我把程序改成了这样
function initialize(cc) {
var html;
$.post("some1.php",{value:cc},function(data){var html=data;},"json");
alert(html);
}
还是不行 弹出对话框说 undefined
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式