在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)就不行 而且我还想把这两个数组分别赋给两个变量 求前辈指点啊



桃花长相依
浏览 565回答 3
3回答

翻过高山走不出你

你把你的数组返回值中间用个符号分割,比如分号["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)永远是空。

jeck猫

function initialize(cc) {var html;//加上这句$.ajaxSettings.async=false;$.post("some1.php",{value:cc},function(data){var html=data;},"json");alert(html);}

白衣非少年

你在函数外面定义一个变量,然后在function里面把data赋值给这个变量不就OK了么
打开App,查看更多内容
随时随地看视频慕课网APP