3 回答

TA貢獻1875條經驗 獲得超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)永遠是空。

TA貢獻1909條經驗 獲得超7個贊
function initialize(cc) {
var html;
//加上這句
$.ajaxSettings.async=false;
$.post("some1.php",{value:cc},function(data){var html=data;},"json");
alert(html);
}
添加回答
舉報