jQueryを使用してクライアントIPアドレスを取得する方法を知りたいですか?jQueryを使用してクライアントIPアドレスを取得する方法
可能ですか?私は純粋なJavaScriptができないことを知っていますが、JSONP
からスタックオーバーフロー自体を使用していくつかのコードがあります。
jQueryを使用して回避策がありますか?
jQueryを使用してクライアントIPアドレスを取得する方法を知りたいですか?jQueryを使用してクライアントIPアドレスを取得する方法
可能ですか?私は純粋なJavaScriptができないことを知っていますが、JSONP
からスタックオーバーフロー自体を使用していくつかのコードがあります。
jQueryを使用して回避策がありますか?
jQueryはJSONPを処理できますが、コールバックで書式設定されたURLを渡すだけですか?例えば$.getJSON
メソッドのパラメータ、:
$.getJSON("https://api.ipify.org/?format=json", function(e) {
console.log(e.ip);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
この例では、本当に簡単JSONPサービスであるがapi.ipify.org
での実装しました。
クロスドメインソリューションを探していない場合は、コールバックパラメータが不要で純粋なJSONを返すため、スクリプトをさらに簡素化できます。
あなたのサーバーへのシンプルなAJAXコール、そしてIPアドレスを取得するサーバー側のロジックは、このトリックを行う必要があります。
あなたが行う可能性がありますPHPのその後$.getJSON('getip.php', function(data){
alert('Your ip is: ' + data.ip);
});
:
<?php
/* getip.php */
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
print json_encode(array('ip' => $ip));
function GetUserIP(){
var ret_ip;
$.ajaxSetup({async: false});
$.get('http://jsonip.com/', function(r){
ret_ip = r.ip;
});
return ret_ip;
}
あなたがIPを使用して変数に代入したい場合は、これを試してみてください。ちょうどGetUserIP()
を試してみましょう。ありがとう。 – Wondering
クールですが、アプリケーションがクォータを超えています:( –
'jsonip.appspot.com'も' CORS'と 'JSONP'をサポートしているようです。 – hippietrail