2013-05-29 34 views
0

雖然試圖回顯jsfiddle使用jQuery的延遲一些HTML,我沒有收到任何數據。jsfiddle - 使用jquery返回html時

function showData(data1, data2) { 
    console.log(data1[0]); 
    console.log(data2); 
} 

function method1() { 
    return $.ajax({ 
     type: "post", 
     url: "/echo/html/", 
     data: JSON.stringify("test1"), 
     dataType: 'html' 
    }); 
} 

function method2() { 
    return $.ajax({ 
     type: "post", 
     url: "/echo/html/", 
     data: {data: "test2"}, 
     dataType: 'html' 
    }); 
} 

$.when(method1(), method2()).then(showData); 

我不明白我在這裏做錯了什麼。將數據作爲對象或JSON.stringify傳遞,似乎都不起作用。 http://jsfiddle.net/VAy5g/

+0

你是什麼意思「既不似乎工作」?它似乎對我有用...... – DarkAjax

+1

@darkajax'[「」,「success」,Object]'打印到我的控制檯。所以沒有數據在'data1 [0]'或'data2 [0]'中返回,我希望在那個位置分別看到「test1」和「test2」。 – 1252748

+0

如果你想回聲json數據,ajax中的URL應該是url:「/ echo/json」 – Ramp

回答

0

嘗試使用異步方法(如deferred.pipe())。一些例子顯示在stackoverflow線程10253192 jquery - 瞭解Deferred.pipe()。

這是與您的問題相關的jquery文檔,http://api.jquery.com/jQuery.when/。請仔細閱讀,並參閱jQuery.ajax()文檔以獲取有關ajax請求的成功和錯誤情況的完整說明。適應什麼時候的原型正是和做noz分離的功能。確保console.log在這個地方做了些什麼,並改變了它的方式,你的函數做了你希望做的事情以及它應該做的事情。它可能更好地登錄到文本文件。

+0

我相信'pipe()'已被棄用。 – 1252748

0

對這個問題有點遲來的迴應。

問題不在於你的jQuery。這工作正常。唯一的問題是你使用jsFiddle的/echo/html API。比較你的代碼:

data: {data: "test2"}, 

working code

data: {html: "test2"}, 

指定的響應data.html,不data.data屬性。

This version of your code按預期工作。