サーバーに単純な JSON 投稿を作成しており、ブール値だけを取得しています。問題は、この json 呼び出しが、そのブール値も返す必要がある別の関数内にあることです。
ここには2つの解決策があります
どういうわけか、JSON 戻り関数からデータを返し、ラッパー関数から再びデータを返します (ここにあるコードは機能しません。$.postJSON 内の "function(){} からデータを返す方法がわかりません:
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;