我想用get方法
发送一个值 sID
和rID
是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
我该如何解决?
答案 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;?>;