潜在的にバグのある CGI インタープリターを処理する必要がある状況があります。getJSON
すべての状況で、コールから何らかのタイプのコールバックを取得する必要があります。これには、関数に送信される偽のパラメーターtestIt
(以下を参照) と、偽の応答を送信する CGI が含まれます。最初のケースを処理するためにすべてを try/catch でラップし、2 番目のケースを処理するために .done を追加するとうまくいくと思いました。しかし、CGI プロセッサが無効な応答を出力した場合、私の .done は呼び出されません。常にコールバックを受け取れるようにするにはどうすればよいですか?
私が使用しているコードは以下のとおりです。
function testIt() {
try
{
console.log('start');
$.getJSON(
// URL of the server
cgi_url,
// pass the data
{
data: 'bogus',
},
// If the AJAX call was successful
function() {
console.log('worked');
}
)
.done(function() {
console.log('done');
});
}
catch (err) {
console.log('exception');
}
}