使用JSON将formdata从Phonegap传递到PHP [英] Passing formdata from Phonegap to PHP with JSON

查看:154
本文介绍了使用JSON将formdata从Phonegap传递到PHP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个应用程序在phonegap,我试图将formdata从phonegap传递到一个远程服务器与jquery和json,并保存到mysql数据库。
我从来没有使用json,我真的不确定如何接收和解析服务器上的这些数据。



任何人都可以帮我写一个简单的php脚本来处理这个?



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

 < form method =postid =infoForm> 
< input type =textname =first_nameid =first_namevalue =placeholder =First Name/>
< input type =textname =last_nameid =last_namevalue =placeholder =Last Name/>
< input type =textname =emailid =emailvalue =placeholder =Email/>
< button type =submit>提交< / button>
< / form>

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

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

$ .post(postTo,({first_name:$('[name = first_name]')。val(),last_name:$('[name = last_name]')。 = email]')。val()}),
function(data){
alert(data);
if(data!=){
// do
} else {
//无法连接
}
},'json');
return false;
});

我一直在试图找到一个没有任何结果的小时的解决方案。



谢谢!

解决方案

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

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

使用jQuery的内置serialize方法:

  $。serialize(this)
/ pre>

至于已经指定json作为响应类型,data变量将包含已经非序列化的JSON对象。



在php脚本中,您需要执行以下操作:

  echo json_encode($ _ POST); 
exit();

当然,你需要改变$ _POST superglobal与你的数组/结果对象,我用它上面脚本行中的演示目的。



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


I am developing an app in phonegap, and I am trying to pass formdata from phonegap to a remote server with jquery and json and save it to the mysql database. I have never used json before, and I am really uncertain of how to recieve and parse this data on the server.

Could anyone help me write a simple php script to handle this?

This is the form and jquery I am using to send data:

<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;
});

I have been trying to find a solution for hours without any result.

Thank you!

解决方案

First of all you can avoid structure like this:

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

With jQuery's built in serialize method:

$.serialize(this)

As far as you already specified "json" as a response type "data" variable will contain already unserialized JSON object.

In php script side of things you need to do following:

echo json_encode($_POST);
exit();

Of course you need to change $_POST superglobal with your array/object of result, I used it for demo purpose in script line above.

Obviously $_POST variable contains data passed from Ajax request, such variable is available in any scope in PHP script.

这篇关于使用JSON将formdata从Phonegap传递到PHP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆