0

AJAX (jQuery) を使用してフォームを PHP スクリプトに送信しています。

JavaScript は次のとおりです。

// Validate form fields
$(function () {
    //Check to see if email is not empty
    if (email == "") {
        $("label#email_error").show();
        $("input#email").focus();
        return false;
    }

    var dataString = 'firstname=' + firstname + '&email=' + email + '&lastname=' + lastname;

    $.ajax({
        type: "POST",
        url: "/",
        data: dataString,
        success: function () {
            var counter = <?php echo($counter['count'] + 1); ?>

            counter = numberWithCommas(counter);

            $('#counter').html(counter);
            $('#contact_form').html("<div id='message'></div>").fadeIn(1500, function () {
                $('#message').html("<h2>Thanks " + (firstname) + "!</h2>").append("<p>We will be in touch soon.</p>");
            });
        }
    });
    return false;
});

PHP スクリプト内には、次のコードがあります。

if (!empty($_POST)){        
    $adestra = $this->adestraAction('contact.create' , array('1', array('1.email' =>  $_POST['email'] , '1.forename' => $_POST['firstname'] , '1.surname' => $_POST['lastname'],'1.source' => 'signupbox' )));
    $add = $this->addToListAction($adestra, $magazineID);
}

$_POST 変数が設定されていないようです。誰でも助けてもらえますか?

4

3 に答える 3

2
data: dataString : dataString,

これは構文エラーです。私はあなたが本当に欲しいと思います:

data: dataString,
于 2012-08-06T14:32:37.167 に答える
1

jQuery POST リクエストのデータは Javascript オブジェクトでなければなりません。

次のように変更します。

data: {
   'key' : 'value'
}

または、dataString が既にクエリ文字列としてフォーマットされている場合は、Rocket の回答を参照してください。

于 2012-08-06T14:32:47.713 に答える
0

この行の後に dataString をデバッグ/警告してください

var dataString = 'firstname=' + firstname + '&email=' + email + '&lastname=' .....

すべての値が正しく入力されているかどうかを確認するには? それが問題かもしれません

于 2012-08-06T15:39:35.257 に答える