-1

サイトのホスト名をphpページに投稿して応答を返すjavascriptを書いていますが、URLにホスト名を割り当てる方法がわかりadrsませんし、コードが正しいかどうかもわかりません。サーバー全体で行う

JavaScript:

function ursl()
{
$.ajax({
url: 'http://example.com/en/member/track.php?adrs=',
success: function (response)
if (response)=='yes';
{
alert("yes");   

}
});

track.php

$url=$_GET['adrs'];
$sql="SELECT * FROM website_ad where site='$url'";
$res=mysqli_query($link,$sql);
if(mysqli_num_rows($res)==0)
{
    echo"no";
}
else
{
    echo"yes";
}
4

3 に答える 3

1

このタイプの GET 要求では、変数は単に URL の等号の後に来ます。最も基本的な方法は、次のように書くことです。

url: 'http://example.com/en/member/track.php?adrs=' + valueToAdd,

あるいは、JQuery にはそれを組み込むためのより直感的な方法があります。

$.ajax({
  url: 'http://example.com/en/member/track.php',
  data: { adrs: valueToAdd }
  // the rest of the parameters as you had them.

また、スクリプト内にスクリプト タグを配置できないことにも注意してください。上記の Javascript 関数を実行するには、別の方法が必要です。たとえば、そのコンテンツを関数でラップし、最初にその関数をロードして (HTML の前にスクリプト タグを使用)、成功したときに呼び出します。

最後のパズルのピースとして、現在のホストを取得できます。window.location.host

于 2013-05-30T13:57:18.847 に答える
1

ajax 関数は次のように記述する必要があります。

$.ajax({
    url: 'http://example.com/en/member/track.php?adrs=' + window.location.hostname,
    success: function (response) {
        if (response === 'yes') {
            $.getScript('http://example.com/en/pop.js', function () {
                // do anything that relies on this new script loading
            });
        }
    }
});

window.location.hostnameホスト名を教えてくれます。連結して ajax URL に渡します。または、katana314 が指摘するように、別のパラメーターでデータを渡すこともできます。ajax 呼び出しは次のようになります。

$.ajax({
    url: 'http://example.com/en/member/track.php?adrs=',
    data: {adrs: window.location.hostname},
    success: function (response) {
        if (response === 'yes') {
            $.getScript('http://example.com/en/pop.js', function () {
                // do anything that relies on this new script loading
            });
        }
    }
});

あなたが何を意図responseしているのかわかりませんが、このコードはそれが文字列であると想定しており、文字列が「yes」の場合に true と一致します。responseが別のものである場合は、それに応じてテストを設定する必要があります。

$.getScript()外部スクリプトをロードしますが、非同期であるため、それに依存するコードをコールバックに配置する必要があります。

于 2013-05-30T14:14:04.003 に答える
0

この行を次のように変更する必要があります。

url: 'http://example.com/en/member/track.php?adrs='+encodeURIComponent(document.URL)

完全なsuccess関数は次のようになります。

success: function (response){
    if (response==="yes"){
        //do your thing here
    }
}

それで解決するはず...

于 2013-05-30T13:54:54.470 に答える