使用下拉列表将两个变量从 php 传递到 ajax
Passing two variables from php to ajax using dropdown
如何将两个值 (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);
}
});
};
我想要这个url:
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);
}
});
};
如何将两个值 (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);
}
});
};
我想要这个url:
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);
}
});
};