Передача форм-данных из Phonegap в PHP с помощью JSON - PullRequest
2 голосов
/ 17 ноября 2011

Я занимаюсь разработкой приложения в phonegap и пытаюсь передать формданные из 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;
});

Я часами пытался найти решение безрезультатно.

Спасибо!

Ответы [ 2 ]

1 голос
/ 17 ноября 2011

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

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

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

$.serialize(this)

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

В части сценария php вам нужно сделать следующее:

echo json_encode($_POST);
exit();

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

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

0 голосов
/ 17 ноября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...