使用JSON将formdata从Phonegap传递到PHP

使用JSON将formdata从Phonegap传递到PHP,php,jquery,json,cordova,Php,Jquery,Json,Cordova,我正在phonegap中开发一个应用程序,我正在尝试使用jquery和json将formdata从phonegap传递到远程服务器,并将其保存到mysql数据库。 我以前从未使用过json,我真的不确定如何在服务器上接收和解析这些数据 有人能帮我写一个简单的php脚本来处理这个问题吗 这是我用来发送数据的表单和jquery: <form method="post" id="infoForm"> <input type="text" name="first_name

我正在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;
});

提交
$('#infoForm')。提交(函数(){
var postTo=http://siteurl.com';
$.post(postTo,({first_name:$('[name=first_name]').val(),last_name:$('[name=last_name]')).val(),email:$('[name=email]').val()),
功能(数据){
警报(数据);
如果(数据!=“”){
//做点什么
}否则{
//无法连接
}        
}“json”);
返回false;
});
我一直在寻找一个解决方案,几个小时都没有结果


谢谢大家!

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

{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();
当然,您需要使用结果的数组/对象更改$\u POST superglobal,我在上面的脚本行中将其用于演示目的


显然$\u POST变量包含从Ajax请求传递的数据,这样的变量在PHP脚本的任何作用域中都是可用的

基本概念是在GET或POST请求中向服务器发送数据(http://siteurl.com/index.php 例如)。然后在服务器(index.php)上查看$\u GET、$\u POST或$\u请求变量,以查找发送的数据。一旦你有了这些数据,你就可以对其进行json_解码,以便为你轻松地格式化数据。json_decode将获取您的json字符串,并为您将其转换为php变量

下面是一个快速教程,解释如何使用PHP执行此操作:

json_解码:

$\请求: