【问题标题】:Passing formdata from Phonegap to PHP with JSON使用 JSON 将表单数据从 Phonegap 传递到 PHP
【发布时间】:2011-11-17 16:47:41
【问题描述】:

我正在 phonegap 中开发一个应用程序,我正在尝试使用 jquery 和 json 将 formdata 从 phonegap 传递到远程服务器并将其保存到 mysql 数据库中。 之前没用过json,真的不知道怎么在服务器上接收解析这些数据。

谁能帮我写一个简单的php脚本来处理这个?

这是我用来发送数据的表单和 jquery:

<form method="post" id="infoForm">
       <input type="text" name="first_name" id="first_name" value="" placeholder="First Name"  />
       <input type="text" name="last_name" id="last_name" value="" placeholder="Last Name"  />   
       <input type="text" name="email" id="email" value="" placeholder="Email"  />
      <button type="submit">Submit</button> 
</form>

$('#infoForm').submit(function() {

    var postTo = 'http://siteurl.com';

    $.post(postTo,({first_name: $('[name=first_name]').val(), last_name: $('[name=last_name]').val(), email: $('[name=email]').val()}),
    function(data) {
        alert(data);
        if(data != "") {
            // do something
        } else {
            // couldn't connect
        }        
        },'json');
    return false;
});

我已经尝试了几个小时没有任何结果。

谢谢!

【问题讨论】:

    标签: php jquery json cordova


    【解决方案1】:

    首先你可以避免这样的结构:

    {first_name: $('[name=first_name]').val(), last_name: $('[name=last_name]').val(), email: $('[name=email]').val()}
    

    使用jQuery内置的序列化方法:

    $.serialize(this)
    

    只要您已经将“json”指定为响应类型,“data”变量将包含已经未序列化的 JSON 对象。

    在 php 脚本方面你需要做的事情如下:

    echo json_encode($_POST);
    exit();
    

    当然,您需要使用您的结果数组/对象更改 $_POST 超全局变量,我在上面的脚本行中将其用于演示目的。

    显然 $_POST 变量包含从 Ajax 请求传递的数据,这样的变量在 PHP 脚本的任何范围内都可用。

    【讨论】:

      【解决方案2】:

      基本概念是您通过 GET 或 POST 请求将数据发送到您的服务器(例如 http://siteurl.com/index.php)。然后在服务器 (index.php) 上查看 $_GET、$_POST 或 $_REQUEST 变量以查找您发送的数据。获得数据后,您可以 json_decode 轻松地为您格式化数据。 json_decode 将获取您的 JSON 字符串并将其转换为您的 php 变量。

      这是一个快速教程,解释了如何使用 PHP 执行此操作: http://webhole.net/2009/08/31/how-to-read-json-data-with-php/

      json_decode: http://php.net/manual/en/function.json-decode.php

      $_请求: http://php.net/manual/en/reserved.variables.request.php

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-16
        • 1970-01-01
        • 2013-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多