0

次のものがあり、ID を動的に取得したとします。

<div class="search_results">
<p>user 1 <a href="phpfile.php?id=3">Add</a></p>
<p>user 1 <a href="phpfile.php?id=4">Add</a></p>
</div>

ajax を使用していなければ、渡された値を でキャッチできましたがphpfile.php$_GET['id']それを jquery で使用するにはどうすればよいでしょうか。

$.ajax({
    type: 'GET',
    url: 'phpfile.php', // how to add those values here?
    success: function(data) {
        // do smth
    }
});
4

3 に答える 3

2

データ パラメータを追加する必要があります。

url: 'phpfile.php',
data: {id: 3}

表示されている HTML から ID を取得する必要がある場合:

$('.search_results a').click(function (e) {
  e.preventDefault();
  $.ajax({
    type: 'GET',
    url: 'phpfile.php',
    data: {id: $(this).attr('href').match(/id=(\d*)/)[1]},
    success: function (data) {
        // do something
    }
  });
});
于 2013-07-25T17:31:41.593 に答える
0

HTML

ID を簡単に取得するには、ID を別の属性に入れて、JavaScript/jQuery で直接読み取れるようにします。これが不可能な場合は、URI をそのままにしてくださいhref

<div class="search_results">
    <p>user 3 <a href="phpfile.php" data-user-id="3">Add</a></p>
    <p>user 4 <a href="phpfile.php" data-user-id="4">Add</a></p>
</div>

JavaScript

ここでdataは、jQuery ajax オブジェクトのプロパティを使用してidパラメーターを送信しています。ご覧のとおり、値はdata-user-idHTML 要素の属性から取得されます。

e.preventDefault()ターゲットへのリンクをたどるというブラウザーのデフォルト アクションを防止することですhref

$('a[data-user-id]').click(function (e) {
    'use strict';

    e.preventDefault();
    $.ajax({
        type: 'GET',
        url: $(this).prop('href'),
        data: {
            id: $(this).attr('data-user-id')
        },
        success: function (data) {
            // do something
        }
    });
});

buttonまたは、要素を使用することもできます。

于 2013-07-25T17:37:48.783 に答える
0

url: 'phpfile.php', data: data,

サーバー側のコードでデータから値を取得するだけです

以下の行を使用して、フォームからすべてのデータを ajax に取得できます

var data = $('form').serialize();

上記の方法は、html フォームを使用してデータを渡す場合にのみ適用できます。

于 2013-07-25T17:42:55.257 に答える