Php 要发布到url的javascript和

Php 要发布到url的javascript和,php,html,tracking,Php,Html,Tracking,我正在编写一个javascript,它将把站点的主机名发布到一个php页面并从中得到响应,但我不知道如何在url中将主机名分配给adrs,也不确定代码是否正确。这需要跨服务器完成 javascript: function ursl() { $.ajax({ url: 'http://example.com/en/member/track.php?adrs=', success: function (response) if (response)=='yes'; { alert("yes");

我正在编写一个javascript,它将把站点的主机名发布到一个php页面并从中得到响应,但我不知道如何在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";
}

您需要将此行更改为:

url: 'http://example.com/en/member/track.php?adrs='+encodeURIComponent(document.URL)
success: function (response){
    if (response==="yes"){
        //do your thing here
    }
}
完整的
success
功能如下所示:

url: 'http://example.com/en/member/track.php?adrs='+encodeURIComponent(document.URL)
success: function (response){
    if (response==="yes"){
        //do your thing here
    }
}

这应该可以解决问题了…

在这种类型的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

检索当前主机。您的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
            });
        }
    }
});
我不确定您想要的
响应是什么,但此代码假定它是一个字符串,如果字符串为“yes”,则将匹配true。如果
response
是其他内容,则需要相应地设置测试


$.getScript()
将加载外部脚本,但由于它是异步的,因此您必须将依赖于它的任何代码放入回调中。

您有SQL注入漏洞。您需要学习Javascript。我知道。。但现在我急需它……因此,请在您急需学习时帮助我解决它。恐怕你发布的代码无法修复。花几分钟在谷歌上搜索声明函数和创建对象的正确方法。也许真的能帮你。在询问之前,请更频繁地使用该工具。不,代码中有一些语法错误,但我觉得这很容易识别和修复。我建议使用
window.location.hostname
,如
window.location.host
,如果有端口号,也会发送端口号。我很惊讶,最快的检查方法不只是尝试一下。大多数Javascript编程都涉及大量的尝试和调整代码。据我所知,你所问的问题应该得到解决;正如其他人提到的,您有一个非常严重的SQL注入问题,我只能希望您很快对此表示关注……对于您的脚本,我将尝试一下。顺便说一句,@user2345654,您已经完全重新编辑了问题中的代码。有人可能想知道为什么我使用
$.getScript()
,没有意识到您最初试图通过在条件中放置脚本标记来加载脚本。嘿..我忘了提到我需要跨域完成它..我发现我们可以通过json来完成。我们可以吗?