javascript - 从函数发送多个值到jquery ajax

标签 javascript jquery

我想对我站点中的所有 ajax 调用使用以下函数:

function ajaxcall(my_url, my_div, my_data)
        {
        $(my_div).append('<div style="text-align:center; position:absolute; top:0; left:0; width:100%;"><img src="/images/loading.gif" /></div>');
        $.ajax({ url: my_url,
        data: {data: my_data},
        type: 'get',
        success: function(output) 
            {
            $(my_div).html(output);
            }
        });
        }

它获取我想要的任何 URL 并更新我想要的 DIV,到目前为止一切顺利。问题是我还需要发送 1 个或多个值并想预测这些值的名称。

<select class="formtext" name="car_id" id="car_id" onChange="ajaxcall('/ajax/carsetup.php', '#car_setups', $(this).val() )">
<option value="1">1</option>
<option value="2">2</option>
</select>

<div id="car_setups">select car</div>

所以这样做是将我的选择值发送给函数,它可以工作,但是我不知道如何调用该值,现在它被称为数据,但我想随意命名,在这种情况下car_id,动态地,更糟糕的是我可能想在该函数的第三个 中发送更多值。我该如何解决这个问题?

现在 print_r($_GET); 给我:

Array ( [data] => 2622 ) 

最佳答案

只是做:

data: my_data,

代替:

data: {data: my_data},

然后您可以将您看到的任何值传递给您的 AJAX 脚本,例如

<select class="formtext" name="car_id" id="car_id"
 onChange="ajaxcall('/ajax/carsetup.php', '#car_setups', {car_id: $(this).val()} )">

也就是说,您应该考虑从您的 JS 本身附加该 AJAX 调用,而不是在 HTML 中内联:

 $('#car_id').change(function() {
    ajaxCall('/ajax/carsetup.php', '#car_setups', {car_id: this.value});
 });

关于javascript - 从函数发送多个值到jquery ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6602884/

相关文章:

javascript - 每次调用 JavaScript 函数时使用不同的数组

javascript - 通过 JQuery 更改表单标签上的标签

javascript - 如何使用单行 for 循环在 JavaScript 中创建网格?

直到将鼠标悬停在 ie7 上才显示 jquery 对话框按钮

jquery - 为除第一个 child 之外的所有 child 添加类(class)

javascript - 在 JS 中使用修改后的正则表达式匹配并替换正则表达式

javascript - 是否存在真正的 ECMAScript 实现,或者它只是一个规范?

javascript - 使用 jQuery、AMD 和 require.js 进行事件处理

javascript - Jquery 加载更多/更少 ActionScript

c# - 使用 jQuery $.Ajax 将 DTO 连同附加参数传递给 WebMethod