Передача formdata из Phonegap в PHP с помощью JSON

Я разрабатываю приложение в телефоне, и я пытаюсь передать formdata из phonegap на удаленный сервер с jquery и json и сохранить его в базе данных 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; }); 

Я пытаюсь найти решение часами без каких-либо результатов.

Спасибо!

Прежде всего, вы можете избежать такой структуры:

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

С помощью встроенного метода сериализации jQuery:

 $.serialize(this) 

Насколько вы уже указали «json» в качестве типа ответа «данные» переменная будет содержать уже несертифицированный объект JSON.

В php script стороне вещей вам нужно сделать следующее:

 echo json_encode($_POST); exit(); 

Конечно, вам нужно изменить суперпользователь $ _POST с вашим массивом / объектом результата, я использовал его для демонстрационной цели в строке сценария выше.

Очевидно, переменная $ _POST содержит данные, переданные из запроса Ajax, такая переменная доступна в любой области сценария PHP.

Основная идея заключается в том, что вы отправляете данные в 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

$ _REQUEST: http://php.net/manual/en/reserved.variables.request.php