私はip-api.com/jsonへのAPI呼び出しをしようとしていますが、私はそれが広告ブロッカーによってブロックされていると理解しています。私は別の方法でこれを解決することができるように、try-catchを追加してスクリプトをcatchブロックに入れるようには見えず、代わりにエラーをスローします。APIコール中のキャッチエラーが機能していませんか?
ここにスローされた例外をキャッチする方法はありますか?
$(document).ready(function() {
try {
/* Try getting the request with the required parameters
Otherwise use default ones */
jQuery.getJSON(API_Location, "", function(position) {
if (position.lat && position.lon) {
updateWeather(position);
} else {
updateWeather({"lat":DEFAULT_LAT, "lon":DEFAULT_LON});
}
});
} catch(err) {
/* TODO display warning message */
console.log('option b');
updateWeather({"lat":DEFAULT_LAT, "lon":DEFAULT_LON});
}
});
catchブロックがトリガされず、代わりにそれが例外をスローしているん:
jquery.min.js:行わ4 GET http://ip-api.com/jsonネット:: ERR_BLOCKED_BY_CLIENT
**私のために実行..私はあなたが' .ERROR(機能を(追加した参照@GuruprasadRao –
)..) 'をコードに追加します。これは違いを生み出すことができますか?ログに記録されたレスポンスが表示されない場合でも、コードはこの部分がなくても機能していないようです。 – Nescio
@GuruprasadRaoさらに詳しい調査では、 'error()'は実際にはcatchステートメントによってキャッチされた例外をスローする関数です。 – Nescio