使用JSON将formdata从Phonegap传递到PHP [英] Passing formdata from Phonegap to PHP with JSON
问题描述
我正在开发一个应用程序在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屋!