Php 无法使用jquery post()发布变量
我试图将变量从一个模态表单传递到另一个页面。我从表单中声明变量,并在每个选择中使用id标记 页面重新加载到test.php,但是不能回显任何变量 javascriptPhp 无法使用jquery post()发布变量,php,javascript,jquery,post,Php,Javascript,Jquery,Post,我试图将变量从一个模态表单传递到另一个页面。我从表单中声明变量,并在每个选择中使用id标记 页面重新加载到test.php,但是不能回显任何变量 javascript var id = $( "#id" ), name = $( "#name" ) $.post("jqtest/test.php", { device_id: "id", device_name: "name" }); load('jqtest/test.php'); test.php echo $_POST['dev
var id = $( "#id" ),
name = $( "#name" )
$.post("jqtest/test.php", { device_id: "id", device_name: "name" });
load('jqtest/test.php');
test.php
echo $_POST['device_name'];
echo $_POST['device_id'];
不清楚您打算如何使用此代码从模态表单传递值,但当前代码存在几个问题:
变量赋值结束时缺少代码>
val()
从输入字段中读取值,而不是获取它们的jquery对象var id = $( "#id" ).val(),
name = $( "#name" ).val();
$.post("jqtest/test.php",
{ device_id: id, device_name: name },
function(data){
alert(data);
}
);
看起来这有很多问题。。。看起来您正在使用
echo$\u POST['device\u name']代码>和echo$\u POST['device\u id']代码>只是为了确保AJAX正常工作。如果是这种情况,则不需要使用.load()代码>。您还将发送jQuery对象$(“#id”)
和$(“#name”)
,而不是这些表单元素中的值。稍后,在.post请求中,在引号中有相同的变量,这将发送字符串“id”和“name”。再一次-可能不是你想要的
你的问题有点复杂,但我会尽力回答。试试这个JS:
var id = $("#id").val(),
name = $("#name").val();
$.post("jqtest/test.php", { device_id: id, device_name: name }, function(response) {
console.log(response);
});
在PHP文件中,使用以下代码:
echo $_POST['device_name'];
echo $_POST['device_id'];
您将在浏览器的JS控制台中看到您的变量。使用此脚本,您已经通过POST将两个变量发送到test.php,test.php将响应结果。添加到$.post请求的回调函数将在javascript控制台中显示test.php的输出。在上了解更多关于$post()
的信息这是一堆杂乱无章的PHP和JS。你能把东西分开吗?当然,所有这些都不在一个JS脚本中,“页面重新加载到test.php”。你确定你了解AJAX是如何工作的吗?根据提供的示例,你对web是如何工作的存在严重误解。我鼓励您阅读客户机-服务器模型,并在继续之前更加熟悉PHP和javascript之间的区别。PHP位于不同的页面上,我理解两者之间的差异,但我还不太熟悉jscript。也不,它不在同一个页面中…@elclanrs我对jquery post()函数有基本的了解。页面是从load('jqtest/test.php')加载的;