0

フォームのデータを使用して、アプリの他のページで使用できる JSON ファイルを作成しようとしています。

JQuery Mobile とそのPOST メソッドを使用しています。 しかし、私は何らかの結果を得ることができず、その理由もわかりません。これは私のコードです。

<form id="#formK">
    <label>Text
        <input type="text" name="header" />
    </label>
    <div data-role="button" id="save" />Save</div>
</form>

<script type="text/javascript">

$("#save").click( function(){
    $.post("OptJson.php", {head : $('[name=header]').val(); }, json );
});

</script>

そして、これは私の OptJson.php ページのソースです

<?php
echo $_POST['head'] ;    
?>

エラーはどこにありますか? ありがとう

4

1 に答える 1

0

からセミコロンを削除してみてくださいhead : $('[name=header]').val();

コードを Chrome ブラウザで実行すると、次のメッセージが表示されます: SyntaxError: Unexpected token ;. セミコロンはステートメントのターミネーターであり、そのステートメントを終了したくない場合は、関数を呼び出して結果を引数として使用したいだけです。

送信する引数は JavaScript オブジェクトであり、次のように構成します。

var myObject = {
   data: "stuff",
   otherData: getStuff()
};

このようではありません

//THIS IS WRONG
var myObject = {
   data: "stuff";
   otherData: getStuff();
};
//THIS IS WRONG

セミコロンの使い方が違うことに注意してください。

編集:また、dataTypeパラメータは文字列として指定する必要があるため"json"、 ではありませんjson

最新のほとんどのブラウザーにある Web 開発者ツールを使用することを強くお勧めします (私は Chrome を好みますが、Firefox にも優れたツールがあります)。「コンソール」タブをチェックして、ブラウザーが報告するエラーを確認します。JavaScript コードをデバッグするときに非常に役立ちます。

Edit2:返されたデータを実際に確認したい場合は、次のように成功コールバックを使用する必要があります。

$.post("OptJson.php", {head : $('[name=header]').val() }, function(data){
    alert(data); //do stuff with returned data
}, "json");
于 2012-08-10T14:33:26.853 に答える