0

我想用 get 方法发送一个值

sID并且rID是javascript变量。因此,如果不使用+符号,我们就无法在 JS 中连接字符串。但我的问题不仅如此。如果我尝试如下

认为;

var sID = 16;

var rID = 17;

EDIT-2: 实际上字符串必须在这样的打开方法中,这是我的脚本。

<script type="text/javascript">

        function loadName() {
            var xmlhttp;
            xmlhttp = new XMLHttpRequest();

            xmlhttp.onreadystatechange = function()
            {
              $("#btn_add_friend").attr("title", "xxx");
                    document.getElementById("btn_add_friend").innerHTML = xmlhttp.responseText;

            };
            var sID = <?php echo $_SESSION["SES_USER_ID"];?>; //value:16
            var rID = <?php echo $profile_owner_id;?>;       //value:17

            xmlhttp.open("GET", "request.php?sender_id=" + sID + "&receiver_id=" + rID, true);
            xmlhttp.send();
        }

</script> 

在浏览器的地址行上出现双引号。我不想看到双引号,我想使用 sID 和 rID 变量。如果我不使用变量脚本正在工作,但是当尝试将变量添加到 url 时它不起作用。

格式必须像浏览器地址行上的那样:/request.php?sender_id=16&receiver_id=17

我该如何解决?

4

1 回答 1

1

看来,你有太多了"。这应该做的工作:

var url = "request.php?sender_id=" + sID + "&receiver_id=" + rID;

更新

您在这里有语法错误:

"request.php?sender_id="+sID+"&receiver_id="+rID+"

只需删除尾随+"

xmlhttp.open("GET", "request.php?sender_id=" + sID + "&receiver_id=" + rID, true);

双引号不会出现在 url 中,因为它们被用作字符串分隔符,所以它们之间的所有内容都是字符串(例如"this is my string");它们不会成为实际字符串的一部分(因此这将产生所需的输出)。

更新2

你忘记了echo你的 php 变量:

var sID = <?php echo $_SESSION["SES_USER_ID"];?>;
var rID = <?php echo $profile_owner_id;?>;
于 2013-07-10T16:01:56.593 回答