【问题标题】:Unable to post variables with jquery post()无法使用 jquery post() 发布变量
【发布时间】:2013-04-27 07:51:42
【问题描述】:

我正在尝试将变量从模式表单传递到另一个页面。我在每个选择中使用 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['device_name'];
echo $_POST['device_id'];

【问题讨论】:

  • 这是一个杂乱无章的 PHP 和 JS 代码。你能把东西分开吗?当然,这一切都不在一个 JS 脚本中。
  • “页面重新加载到 test.php”。您确定您了解 AJAX 的工作原理吗?
  • 根据提供的示例,您对 Web 的工作方式存在严重误解。在继续之前,我鼓励您阅读客户端-服务器模型并更加熟悉 PHP 和 javascript 之间的区别。
  • php 在不同的页面上,我了解两者之间的区别,但是我对 jscript 还不是很熟悉。也不,它不在同一页面内......
  • @elclanrs 我对 jquery post() 函数有一个基本的了解。页面从 load('jqtest/test.php'); 加载;

标签: php javascript jquery post


【解决方案1】:

尚不清楚您打算如何使用此代码从模态表单中传递值,但您当前的代码存在几个问题:

  1. 变量赋值末尾缺少;
  2. 使用 val() 从输入字段中读取值,而不是获取它们的 jquery 对象
  3. 在 post 方法的数据对象中使用变量名而不是文字(“id”、“name”)

试试这个看看变量是否在回调函数中被传递和回显

var id = $( "#id" ).val(),
    name = $( "#name" ).val();

$.post("jqtest/test.php", 
       { device_id: id, device_name: name },
       function(data){
            alert(data);
        }
);

【讨论】:

    【解决方案2】:

    这看起来有很多问题...看起来您使用echo $_POST['device_name'];echo $_POST['device_id']; 只是为了确保您的AJAX 正常工作。如果是这种情况,您不需要使用.load();。您还将发送 $( "#id" )$( "#name" ) 的 jQuery 对象,而不是这些表单元素中的值。稍后,在您的 .post 请求中,您在引号中包含相同的变量,即发送字符串“id”和“name”。再说一遍 - 可能不是你要找的。​​p>

    您的问题有点复杂,但我会尽力回答。试试这个 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 的输出。在jQuery docs. 上了解有关.$post() 的更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      • 1970-01-01
      • 2012-12-16
      • 1970-01-01
      • 1970-01-01
      • 2011-08-09
      相关资源
      最近更新 更多