GET方法上的Javascript字符串和变量,语法错误?

时间:2013-07-10 16:00:46

标签: javascript syntax-error concatenation string-concatenation

我想用get方法

发送一个值

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

假设;

var sID = 16;

var rID = 17;

修改-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

我该如何解决?

1 个答案:

答案 0 :(得分: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");它们不会是实际字符串的一部分(因此这将产生所需的输出)。

<强> UPDATE2

你忘记了echo你的php变量:

var sID = <?php echo $_SESSION["SES_USER_ID"];?>;
var rID = <?php echo $profile_owner_id;?>;