说我有以下内容,并且我动态获取了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
}
});
答案 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)
为了方便获取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>
在这里,我使用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表单
传递数据时,才能应用上述方法