次のコードは、クライアントの IP アドレスを正常に取得します
var clientIP;
$.getJSON("http://jsonip.appspot.com?callback=?",
function (data) {
clientIP = data.ip;
});
$("form").submit(function () {
alert(clientIP);
});
ただし、これはフォームのロード時に IP アドレスを取得します。ユーザーが sumbit を押したときにのみ JSON 関数が呼び出されるように、これをリファクタリングすることは可能ですか? 例えば。
$("form").submit(function () {
var clientIP = <somehow call getJSON function to get client ip>;
alert(clientIP);
});