发送对象转换为json字符串,发布到PHP脚本

时间:2013-05-24 09:59:52

标签: php javascript jquery json object

是的,所以需要一些帮助,说明为什么它不能做我想做的事。

我有类似的东西

    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中看到字符串化对象实际上只包含“register”而没有别的。所以我很蠢,做错了什么,很乐意帮忙。

2 个答案:

答案 0 :(得分:3)

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

在html中:

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

在javascript中:

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

答案 1 :(得分:0)

你的代码中的错误是,

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