我如何使用jQuery获取URL参数?

3

我正在发送一个AJAX请求,希望能够将URL变量的数据一起发送。我已经尝试使用PHP的GET方法,但是它没有被发送。

$.ajax({
  type: "POST",
  url: "send.php",
  data: "name=" + "<?php $_GET['name']; ?>", 
  success: function(data) {
    $("#div").html(data);
  }
})
3个回答

4
你需要使用echo命令输出get变量。
$.ajax({
       type: "POST",
       url: "send.php",
       data: "name=" + "<?php echo $_GET['name']; ?>", 
       success: function(data) {
           $("#div").html(data());
       }
})

此外,最好使用对象来发送数据。
$.ajax({
       type: "POST",
       url: "send.php",
       data: {'name':'<?php echo $_GET['name']; ?>'}, 
       success: function(data) {
           $("#div").html(data());
       }
})

2
或者;data: "name=" + <?= $_GET['name']; ?>, - Ryan Harne
啊,谢谢 - 是个愚蠢的错误!以那种方式发送数据有什么好处吗? - The Codesee
是的,这样更容易管理(假设我们的数据中有&符号,则需要对查询字符串进行转义才能正常工作),而且它比使用普通的查询字符串更可取。不客气 :) - Shoaib Zafar

3

有两件事情。

$.ajax({
   type: "POST",
   url: "send.php",
   data: "name=" + <?php echo $_GET['name']; ?>, 
   success: function(data) {
     $("#div").html(data());
   }
});

第一段是 <?php echo $_GET['name']; ?>

第二段缺少闭合括号 $("#div").html(data());

希望这能帮到你。


1
$.ajax({
  type: "POST",
  url: "send.php",
  data: "name=" + <?php echo $_GET['name']; ?>, 
  success: function(data) {
    $("#div").html(data();
  }
});

5
原回答无解释并不算是一个完整的回答。请指出OP代码为什么无效以及您的答案为什么会有效。 - guradio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接