我正在做一個簡單的JSON發佈到服務器,我檢索布爾值。問題是這個json調用在另一個需要返回布爾值的函數中。
我這裏有兩種解決方案
不知從JSON返回函數返回值,然後從包裝函數(即我這裏不起作用的代碼再次返回它,我無法弄清楚如何從「功能返回數據(){} $ .postJSON內:
function testZipCode(zipcode, state) { var s; $.postJSON("/Cart/ZipTest", { state: state, zipCode: zipcode }, function (data) { if (!data.ok) { s = false; } s = true; }); return s; }
}
等待POST完成,然後返回結果是這樣的:(誤差我克這裏是我在POST完成之前調用return,因此responseText爲null。任何人都可以幫忙嗎?
var result = $.postJSON("/Cart/ZipTest", { state: state, zipCode: zipcode }, function (data) { if (!data.ok) { //do something } }); return $.parseJSON(result.responseText).ok;
你創建的方法叫'jQuery.postJSON'? jQuery不附帶一個內置的。你的返回'$ .parseJSON(...)'將在responsetext有一個值之前發生,異步代碼不應該這樣寫。 –
這正是問題所在。是的,我確實有.postJSON。謝謝 –