0

HTMLから取得した次のデータを保存しようとしています

  title:"Tempered Song",
  artist:"Miaow",
  mp3:"http://www.jplayer.org/audio/mp3/Miaow-01-Tempered-song.mp3",
  oga:"http://www.jplayer.org/audio/ogg/Miaow-01-Tempered-song.ogg",
  poster: "http://www.jplayer.org/audio/poster/Miaow_640x360.png"

私のhtmlコードは次のとおりです。

<a class="add-music" data-title="Las Voces" data-artist="" href="audios/song-little.mp3">Add to List</a>
<a class="download-music" href="audios/song-little.mp3">Download</a>

<a class="add-music" data-title="Las Voces del Bosque" data-artist="" href="audios/song-little.mp3">Add to List</a>
<a class="download-music" href="audios/song-middle.mp3">Download</a>

<a class="add-music" data-title="Las Bosque" data-artist="" href="audios/song-little.mp3">Add to List</a>
<a class="download-music" href="audios/song-big.mp3">Download</a>

私のコードjqueryは次のとおりです。

 $( document ).ready(function() {
 $('.add-music').click(function() {
    $.ajax({
        'type':'POST',
        'data':fuction() {
          var songNew = JSON.stringify({
            title: $(this).attr('data-title'),
            artist: $(this).attr('data-artist'),
            mp3: $(this).attr('href'),
          });
        });
        datatype: 'json',
        url: 'session.php',
        async: true,
        cache:false
        });
    });
 });

しかし、それはうまくいきません。これをより良く、よりきれいにする方法はありますか?

4

3 に答える 3

1

データの構築方法に問題があります。次のようなものを使用します。

'data': JSON.stringify({
      title: $(this).attr('data-title'),
      artist: $(this).attr('data-artist'),
      mp3: $(this).attr('href'),
 }),

これにより、json でエンコードされた文字列が投稿本文でサーバーに渡されます。変数を標準の投稿変数として扱いたい場合は、json エンコードの手順をスキップしてください。

于 2013-03-07T16:51:02.893 に答える
0

複数の構文エラーを修正します。

$(document).ready(function () {
     $('.add-music').click(function () {
         $.ajax({
             type: 'POST',
                 data: function () {
                 var songNew = JSON.stringify({
                     title: $(this).attr('data-title'),
                     artist: $(this).attr('data-artist'),
                     mp3: $(this).attr('href')
                 });
                return songNew;
             },
             datatype: 'json',
             url: 'session.php',
             async: true,
             cache: false
         });
     });
 });

おそらく次のように良いでしょう:

 $(document).ready(function () {
     $('.add-music').click(function () {
         var songNew = JSON.stringify({
             title: $(this).attr('data-title'),
             artist: $(this).attr('data-artist'),
             mp3: $(this).attr('href')
         });
         $.ajax({
             type: 'POST',
             data: songNew,
             datatype: 'json',
             url: 'session.php',
             async: true,
             cache: false
         });
     });
 });
于 2013-03-07T16:48:46.583 に答える
0

最終的にはうまくいきました

$(document).ready(function () {
     $('.add-music').click(function () {
         var songNew = JSON.stringify({
             title: $(this).attr('data-title'),
             artist: $(this).attr('data-artist'),
             mp3: $(this).attr('href')
         });
         var songIE = {json:songNew};
         $.ajax({
             type: 'POST',
             data: songIE,
             datatype: 'json',
             url: 'session.php',
             async: true,
             cache: false
         });
     });
 });

ありがとう4all

于 2013-03-08T03:31:48.207 に答える