0

次のように非常に単純なindex.phpコードを作成しました

<!DOCTYPE html> 
<head> 
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/httpGet.js"></script>
<script type="text/javascript" src="js/jquery.mobile.js"></script>   

</head> 

<body>
 <input id="string" type="text"/>
 <input id="button" type= "button" value="Check" />

</body>
</html>

この HTML コードでは、ユーザーから番号を取得し、httpgGet.js ファイルを呼び出します。httpGet.js は次のとおりです。

$('#button').click(function() {
        var string = $('#string').val();
    $.post('http://...../isprime.php',{number: string},function(data){
      alert(data);
            } 
     }

ユーザー番号を isprime.php ファイルに送信し、そこでユーザー番号が素数かどうかをチェックします。$.post('php/isprime.php',.....) と言うと非常にうまく機能しますが、別のコンピューターから isprime.php を呼び出したい場合は機能しません。

つまり、 $.post('192.168.1.1/test/isprime.php'....) で見つからないというエラーが発生します。

ファイルが存在し、ブラウザからの直接呼び出しを使用してコードを実行できます。ブラウザに 192.168.1.1/test/isprime.php と入力すると、ファイルに到達できますが、js ファイルからは失敗します。もちろん、192.168.1.1 にも ping を実行できます。FireBugでもコードをチェックしましたが、完全ではありませんでした。

よく検索した結果、ブラウザではクロス ドメイン コールが許可されていない (セキュリティ上の理由からだと思います) というクロスが見つかりましたが、この問題を解決する解決策が見つかりません。YQLについて何かがあります(これはクエリ言語であり、使用できるかどうかわかりません)。また、cULRについて何かを見ましたが、それもうまくいくかどうかはわかりません。

親切に助けてください。ほんとうに必要だ。ありがとうございます。

4

1 に答える 1

0

私の意見では、最も明白な解決策は、cURLライブラリを使用してクロスドメインリクエストの制限がないサーバー側でリクエストを行うことです(あなたが述べたように、そうです)。もちろん、サーバーに cURL ライブラリをインストールする必要があります。PHP cURL マニュアルには、開始するのに十分な情報が含まれているはずです。

于 2013-02-16T22:42:16.673 に答える