【问题标题】:sending object converted to json string with post to php script [closed]发送转换为 json 字符串的对象并发送到 php 脚本 [关闭]
【发布时间】:2013-05-19 21:36:28
【问题描述】:

是的,所以需要一些帮助来解释为什么它没有做我想做的事情。

我有这样的事情

    var getUsername = $("username").val();
    var getPassword = $("password").val();
    var getEmail = $("email").val();

    var obj =
    {
        "register": 1,
        "username": getUsername,
        "password": getPassword,
        "email": getEmail
    };

    var newObj = JSON.stringify(obj);

    $.post("authentication.php", { "obj": newObj },
        function(data){ //etcetc

现在,当它实际将对象发布到 PHP 脚本时,它发送的唯一内容是

obj:{"register":1}

其余的变量只是消失在某个地方。

然后我 console.log 并看到字符串化的对象实际上只包含“寄存器”而没有其他内容。所以我很笨,做错了什么,很乐意得到帮助。

【问题讨论】:

  • 什么是用户名、密码和电子邮件。它们是 HTML 的 ID 属性还是类属性?

标签: php javascript jquery json object


【解决方案1】:

您使用的选择器未指定您是否在寻找 id、类等。因此无法找到它们,因此没有任何价值。如果用户名等是 id,那么您将执行以下操作:

在html中:

<input type="text" id="username" />

在javascript中:

var getUsername = $("#username").val();
    var getPassword = $("#password").val();
    var getEmail = $("#email").val();

【讨论】:

  • 不出所料,我很愚蠢(而且很沮丧),当有人指出这一点时很明显。谢谢。
【解决方案2】:

你的代码有问题,

  1. 没有提及为获取值而传递的属性的类型。例如,如果您需要 ID 为“用户名”的文本框的值,请使用 $("#username").val();
  2. 无需在$.post() 中创建一个名为“obj”的新对象。只需直接传递“newObj”即可。这不是一个错误,但我更喜欢这是一个好的做法。

【讨论】:

    猜你喜欢
    • 2015-06-23
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    • 2019-09-04
    • 2020-10-18
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多