如何使用ajax通过GET传递值

时间:2013-07-25 17:29:33

标签: php jquery ajax

说我有以下内容,并且我动态获取了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
    }
});

3 个答案:

答案 0 :(得分: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
    }
  });
});

答案 1 :(得分:0)

HTML

为了方便获取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

在这里,我使用jQuery ajax对象的data属性来发送id参数。如您所见,该值是从HTML元素的data-user-id属性中获取的。

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元素。

答案 2 :(得分:0)

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

只需从服务器端代码

中的数据中检索值即可

您可以使用以下行将表单中的所有数据转换为ajax

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

只有在使用html表单

传递数据时,才能应用上述方法