0

サーバーにポストを送信して、データベースに新しいテーブル エントリを作成します。テーブル エントリが作成されたら、サーバーにテーブル エントリの ID を応答させます。Chrome 開発者ツールでは、応答が単数として表示されます (つまり、テーブルの 5 番目のエントリの場合、サーバーの応答は 5 です)。後で使用するために javascript/YUI を使用してこの情報を保存するにはどうすればよいですか? Y.io on: success 関数で何かをする必要がありますか?

編集:

    Y.io('/sessionsimulator/sessioncreate/', {
        method: 'POST',
        data: jdtoldstring,
        headers: {
          'Content-Type': 'application/json'
        },
        on: {
            success: buildtable()
        }           
    });

これは、日付/時刻を投稿し、セッション ID を作成するコードです。後で sqlite テーブルを表示すると、セッションが思いどおりに作成されていることがわかります。成功関数 buildtable は、シミュレートされたデータを生成するために呼び出されるコードです。buildtable() 内に、sess_is という設定しようとしているグローバル変数があります。

sess_id = Y.JSON.parse.responseText;

そのステートメントは buildtable() 内にありますが、テーブルが作成されると、変数 sess_id で埋められる列は「未定義」になります。

開発者ツールで、URL 呼び出し /createsession への応答が数字であることがわかります。その数字を選択して、それを sess_id 変数に格納しようとしています。

4

1 に答える 1

1

response.responseText応答が単なる数字の場合、IO 成功のコールバックからアクセスできます。これは文字列なので、数値として解析する必要があります。

Y.io(url, {
  //...
  on: {
    success: function (requestId, response) {
      var id = parseInt(response.responseText, 10);
      // do something with the id
    }
  }
});

通常、数値以外の情報を送信する場合は、JSON をサーバーから送信し、JavaScript で解析することをお勧めします。これについては、IO ユーザー ガイドのレスポンス オブジェクト セクションから詳しく読むことができます。

于 2013-07-05T13:19:45.690 に答える