在javascript的URL中添加两个参数

在javascript的URL中添加两个参数,javascript,php,Javascript,Php,我有这段代码,它将获得两个texbox(stud_firstname和stud_lastname)的输入: 我想以某种方式生成如下url: check_stud_name.php?fname=Bill&lname=GATES 我可以用php来做,但是javascipt不是我的专长,所以我不知道怎么做。上面的代码可以工作,但它只分配了fname,而lname是未知的。 因此,如果我在firstname框中输入BILL,在lastname框中输入GATES,给定以下php代码: $fna

我有这段代码,它将获得两个texbox(stud_firstname和stud_lastname)的输入:

我想以某种方式生成如下url:

check_stud_name.php?fname=Bill&lname=GATES
我可以用
php
来做,但是
javascipt
不是我的专长,所以我不知道怎么做。上面的代码可以工作,但它只分配了
fname
,而
lname
是未知的。

因此,如果我在firstname框中输入BILL,在lastname框中输入GATES,给定以下php代码:

$fname = $_GET[fname];
$lname= $_GET['lname'];

echo $fname."<separator to check if it works>".$lname;
$fname=$\u GET[fname];
$lname=$_GET['lname'];
echo$fname.“.”$lname;
输出为:

BILLlname=GATES<separator to check if it works>
BILLlname=GATES
并给出一个错误,说明未找到
$\u GET['lname']
。因此,可以安全地假设
fname
的值是
BILLlname=GATES
,并且“lname=…”代码与“fname=…”合并后不起作用




如何在url中放入两个变量/参数并使
lname=…
工作?我试着把
&
放在它们之间,但根本不起作用。

很基本,只需添加
&

改变

data:'fname='+firstName+'lname='+lastName,

分离器 URL编码的表单数据是一组键=值对,用
字符分隔。您需要实际包含
字符

逃逸 某些字符(如
=
&
)在URL中具有特殊意义

在将用户输入添加到URL之前,应先转义用户输入

张贴请求 jQuery将POST请求的
data
参数的值放入请求正文中

如果要使用查询字符串发出POST请求,则需要将其显式地放入URL的查询字符串中

代码 或者:获得 看起来您正在尝试获取数据,因此应该发出GET请求而不是POST请求

您可以向jQuery的
数据
字段传递一个对象,并让jQuery对其进行转义,然后为您形成查询字符串:

$.ajax ({
    type: "GET",
    url: "check_stud_name.php",
    data: {
        fname: firstName,
        lname: lastName
    }
    // etc

除非您希望
&
自动神奇地出现,否则我建议您在两个name=value对之间插入一个。//您在这里完全忽略了URL编码。查看jQuery的
.serialize
,它可以为您处理类似的内容。
check\u stud\u name.php?fname=Bill&lname=GATES
是GET格式,但您使用POST提交表单。
data:'fname='+firstName+'&lname='+lastName,
$.ajax ({
    type: "POST",
    url:"check_stud_name.php?fname=" + encodeURIComponent(firstName) + "?lname=" + encodeURIComponent(lastName),
    // etc
$.ajax ({
    type: "GET",
    url: "check_stud_name.php",
    data: {
        fname: firstName,
        lname: lastName
    }
    // etc