如何将这两个值(filter&$user_id)传递给Ajax?
PHP:
$user_id = 3;
echo "<select name='"filter'" data-userid='"".$user_id."'"
onchange='"getPoints(this.value)'">
<option value='"one'">One</option>
<option value='"two'">Two</option>
</select>";
AJAX:
function getPoints(filter)
{
var userid = $(this).attr('data-userid');
$.ajax({
type: "GET",
url: 'http://website.com?user_id='+userid,
data: '&action='+filter,
success: function(result){
$("#Target").html(result);
}
});
};
我想得到这个网址:
http://website.com?user_id=3&action=one
我在将$user_id传递给Ajax时遇到了问题。提前谢谢。
您的代码应该像一样
function getPoints(filter)
{
var userid = $(this).attr('data-userid');
$.ajax({
type: "GET",
url: 'http://website.com',
data: {action: filter, user_id: user_id},
success: function (result) {
$("#Target").html(result);
}
});
}
或者,如果我谈论你的方式,那么它应该是
function getPoints(filter)
{
var userid = $(this).attr('data-userid');
$.ajax({
type: "GET",
url: 'http://website.com?user_id='+userid+'&action='+filter,
success: function (result) {
$("#Target").html(result);
}
});
}
使用data: {action: filter, user_id: user_id}
总是更好的,因为它将被视为对象本身。
编辑JS-
function getPoints(filter)
{
var user_id = document.getElementById('test_class').getAttribute('data-userid');
console.log(user_id);
$.ajax({
type: "GET",
url: 'http://website.com',
data: {action: filter, user_id: user_id},
success: function (result) {
$("#Target").html(result);
}
});
}
PHP
$user_id = 3;
echo "<select id='test_class' name='"filter'" data-userid='"".$user_id."'"
onchange='"getPoints(this.value)'">
<option value='"one'">One</option>
<option value='"two'">Two</option>
</select>";
试试这样的
function getPoints(filter){
var userid = $(this).data('userid');
$.ajax({
type: "GET",
url: 'http://website.com?user_id='+userid,
data: { action:filter, user_id: userid},
success: function(result){
$("#Target").html(result);
}
});
};