Javascript 获取post jquery并在$\u post中回显它(可能吗?)

Javascript 获取post jquery并在$\u post中回显它(可能吗?),javascript,php,jquery,html,Javascript,Php,Jquery,Html,我正在学习如何将数据发布到服务器。我想单击一个链接并将其数据发布到同一页面中的服务器,我需要一个表单来完成吗?是否可以在没有表单的情况下发布数据?我无法在php中看到结果。我应该在这里有任何成功或完成的函数来获得结果吗?我也试过的最后一个例子,并没有内容div看到任何结果,所以我无法找出它 我不想显示数据并将其附加到html中,我想在$u POST中看到它,如果不可能在同一页中显示它,我可以接受,我只想看到$u POST可以从JQUERY中获得数据 <?php if(isset($_P

我正在学习如何将数据发布到服务器。我想单击一个链接并将其数据发布到同一页面中的服务器,我需要一个表单来完成吗?是否可以在没有表单的情况下发布数据?我无法在php中看到结果。我应该在这里有任何成功或完成的函数来获得结果吗?我也试过的最后一个例子,并没有内容div看到任何结果,所以我无法找出它

我不想显示数据并将其附加到html中,我想在$u POST中看到它,如果不可能在同一页中显示它,我可以接受,我只想看到$u POST可以从JQUERY中获得数据

 <?php 
if(isset($_POST["name"]))
echo $_POST["name"];
?>
<!DOCTYPE html>
<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script>
    $(document).ready(function(){

        $("#link").click(function(){
            $.post("newfile5.php",
            {
              name: $("#link").val()
            }


        });
$('form#myform').submit();
    });
</script>
</head>
<body>
<form id="myform" action="newfile5.php" method="POST">
<a id="link" href="" value="A">Send</a>
</form>
</body>
</html>

$(文档).ready(函数(){
$(“#链接”)。单击(函数(){
$.post(“newfile5.php”,
{
名称:$(“#链接”).val()
}
});
$('form#myform')。提交();
});
PS:我更新了答案,但仍然没有结果:

 <?php 
if(isset($_POST["name"]))
echo $_POST["name"];
?>
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){

    $("#link").click(function(e){
        e.preventDefault();
        $.post("newfile5.php",
        {
          name: $("#link").data("value")
        },
        function(data)
        {
            // Whatever is returned by newfile5.php
        }

    });
});
</script>
</head>
<body>
<a id="link" href="" data-value="A">Send</a>

</body>
</html>

$(文档).ready(函数(){
$(“#链接”)。单击(功能(e){
e、 预防默认值();
$.post(“newfile5.php”,
{
名称:$(“#链接”).数据(“值”)
},
功能(数据)
{
//newfile5.php返回的内容
}
});
});

我希望看到$\u POST['name']的值是A,只需在php中访问
$\u POST
变量

编辑:

首先,您将两种不同的方法结合在一起,并同时出错。您发出一个AJAX请求,然后发送一个没有值的正常HTTP请求。两种错误都是错误的,请尝试此示例,它将发出一个AJAX Post请求,并在警报中向您显示结果

<?php 
if(isset($_POST["name"]))
echo $_POST["name"];
?>
<!DOCTYPE html>
<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script>
    $(document).ready(function(){

        $("#link").click(function(){
            $.post("newfile5.php",
            {
              name: 'Some Name'
            }, function(data) {
                alert(data)
            }
        });
    });
</script>
</head>
<body>
<form id="myform" action="newfile5.php" method="POST">
<a id="link" href="" value="A">Send</a>
</form>
</body>
</html>

$(文档).ready(函数(){
$(“#链接”)。单击(函数(){
$.post(“newfile5.php”,
{
名字:'某个名字'
},函数(数据){
警报(数据)
}
});
});

使用
数据属性
存储数据

<a id="link" href="" data-value="A">Send</a>
去拿它

所以你的代码变成了

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){

    $("#link").click(function(e){
        $("#disp_name").html($("#link").data("value"));
        e.preventDefault();
        $.post("newfile5.php",
        {
          name: $("#link").data("value")
        },
        function(resp)
        {
             console.log(resp); // Whatever is returned by newfile5.php
        }

    });
});
</script>
</head>
<body>
<div id="disp_name"></div>
<form id="myform" action="newfile5.php" method="POST">
<a id="link" href="" data-value="A">Send</a>
</form>
</body>
</html>

我想点击一个链接并将其数据发布到同一页面的服务器上,我需要一个表单来完成吗

不可以。您可以在没有表单的情况下发布数据


编辑

编辑后回答问题(如果我完全理解):

在我看来,这实际上像是一个X-Y问题,但答案是-

PHP不能干扰客户端浏览器。AJAX只是服务器(PHP)和完全呈现的页面之间的“桥梁”。 (您可能想了解)

完全呈现的页面不再具有对PHP变量的访问权限(无论是jQuery还是任何其他客户端语言)。当与服务器的连接完成(页面完全呈现)时,所有PHP命名的变量和方法都不再存在。它们只能在呈现页面时设置(这是让这两种语言同时工作的唯一方法),例如:

如果不需要发布任何数据:

var myData;
$("#link").click(function(e){
    myData = $("#link").attr('value');
    doSomething();
});
方法:

function doSomething(){
    if(myData){
       alert(myData);
   }else{
       // ...
   }
}

你是什么意思?我在顶部有$\u POST没有看到PHP代码段,你的问题是你试图发布数据的方式不正确,我会更新我的答案。成功后怎么办?我删除了我的表单提交,但仍然没有看到Philip,我测试过的值。我在警报或$\u POST中没有看到任何应该显示的内容现在.将
val()
更改为
$(“#link”).attr('value')
我们可以看到$_POST[“name”]在页面中?有可能看到吗?我没有看到,我看到的数据仍然没有结果buddy@Irv,不要在没有解释你所做的事情的情况下发布代码墙哦,我在错误的东西中添加了done函数,哈哈。我在电话上很忙,抱歉。更改了它。我添加了
e.preventDefault();
删除了
$('form#myform')。提交()
以及
数据值
都是可访问的。如需更多更改,请参阅更新的。我复制粘贴了您的代码,但未看到任何结果。我不知道问题出在何处。您希望得到什么结果?您的PHP是否有回声?然后检查您的控制台或将
控制台。使用
警报
记录
ee echo$_POST[“name”];这是我发布的代码我想从jquery的帖子中获取名称,并在$_POST[“name”]中显示它
 <?php 
if(isset($_POST["name"])) {
echo $_POST["name"];
exit; //So we don't show the HTML in $.post response
}    
?>
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){

    $("#link").click(function(){
        $.post("newfile5.php",
        {
          name: $("#link").attr('data-value');
        }).done(function(response) {
      //Handle the response, just alerting for testing
      alert(response);
     });
        //No need
        //$('form#myform').submit();
    //Event to see the response
    });
});
</script>
</head>
<body>
<!--anchors don't have value attributes, use data- attribute-->
<a id="link" href="" data-value="A">Send</a>
</body>
</html>
<script>
    var myData = "<?php echo 'something'; ?>";
</script>
var myData = '';
$("#link").click(function(e){
    $.post(
        "newfile5.php",
        {name: $("#link").attr('value')},
        function( data ) {
            myData = data;
            doSomething();
            // do something else with the data here. ...
        }
    );
});
var myData;
$("#link").click(function(e){
    myData = $("#link").attr('value');
    doSomething();
});
function doSomething(){
    if(myData){
       alert(myData);
   }else{
       // ...
   }
}