0

こんにちは、私は ajax と json を初めて使用するので、プロジェクトで使用する前に以下のサンプル コードを試してみましたが、PHP ファイルに情報を送信しようとするといくつかの問題が発生しました。入力をフォーマットしてJSON形式にし、私の知る限り、正しく動作するAjaxコマンドを取得しました。しかし、コードを実行していたときに、FireBug を使用して投稿したものを見ていましたが、PHP に送信している入力の値が未定義であると表示されています。単一の入力で動作するようになったので、なぜこれが起こるのかわかりません。また、回避策として HTML コードで json.stringify を使用してから、PHP ファイルで json_decoding を使用しようとしましたが、単一の入力ケースでは機能しませんでした。どんな助けでも大歓迎です。

HTML:

 var sendInput = [
                {"fruit":"apple", "amount":"5"},
                {"fruit":"pear", "amount":"15"}];
   var sent = $.ajax({
        type: "POST",
        data: sendInput,
        dataType: "JSON",
        url: "AjaxTest.php",
        success: function(data) {
            window.alert(data);
                window.alert("Works");
        },
        error: function() {
            window.alert("Failed");
        }
    });

PHP: $_POST の任意の値をエコーするだけです。

4

1 に答える 1

0

$.ajax は、データ属性が文字列またはプレーン オブジェクトのいずれかであることを想定しています。しかし、配列を定義しました。それが送信したい場合は、次のようなものを試してください。

var sendInput = {"myinput":[
            {"fruit":"apple", "amount":"5"},
            {"fruit":"pear", "amount":"15"}]}; 
于 2013-04-15T00:37:11.033 に答える