-1

みなさん、こんにちは。jquery(json)とphpを使用して小さなアプリケーションを作成しようとしています。現時点では、次のように置き換えて最適なコードを記述したいと思います。

$(document).ready(function () {
    $('form').submit(function () {
        var action = $(this).attr('action');
        var name = $('.name').val();
        var email = $('.email').val();
        var city = $('.city').val();
        $.post(action, {
            name: name,
            email: email,
            city: city
        }, function (data) {
            alert(data.error);
        }, 'json');
        return false;
    });
});

だから私が話している別の方法(名前、電子メール、都市)でこのすべての変数を送信するにはどうすればよいですか?

4

4 に答える 4

0

投稿された変数を取得できなかった理由を理解しているようです。入力フィールドに属性「name」を指定しなかったためです。クラスの代わりにname属性を使用して、変数名をphpスクリプトに渡します。

于 2012-08-21T14:45:04.983 に答える
0

私はあなたがそのようなものが必要だと思います

$(function(){
   $('form').submit(function(e){
       e.preventDefault();
       $.post(
           $(this).attr('action'),
           $(this).serialize(),
           function(data){
               alert(data.error); 
           },
           'json'
       );
   }); 
});
于 2012-08-21T11:01:34.350 に答える
0

$.serialize を使用してフォームをシリアル化できます。

$.post('url', $(this).serialize(), ... );

(注:thisあなたの例に当てはまるフォームの範囲でのみ機能します)

于 2012-08-21T11:02:02.377 に答える
0

@D.Mullerが言ったように、次のようなものを使用できます:

var serializedData = $('form').serialize();

$.post(
    'getSerializedData.php',
    {data:serializedData},
    function(data){
    }
)

次に、php スクリプトで unserialize を次のように使用する必要があります。

<?php

$serializedData = $_POST['data'];
$unserializedData = array();

parse_str($unserializedData,$serializedData);

print_r($unserializedData);

?>

それでも、それがあなたが探しているものかどうかはわかりません。とにかく、
私が少し助けてくれることを願っています!
nLamprok

于 2012-08-21T11:29:52.743 に答える