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