Javascript 根据输入值更改AJAX参数
我有两个输入与一个On Change ajax调用有关Javascript 根据输入值更改AJAX参数,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有两个输入与一个On Change ajax调用有关 <input type="email" id="lookupemail" style="width: 225px;" placeholder="john.smith@ufcfit.com"> <select id="type" style="width: 150px;"> <option value="member"> Member
<input type="email" id="lookupemail" style="width: 225px;" placeholder="john.smith@ufcfit.com">
<select id="type" style="width: 150px;">
<option value="member"> Member </option>
<option value="lead"> Lead </option>
</select>
而不是。。
成员:“conner@asdsafsdf“而不是:
data: {lookuptype: lookupinput},
使用类似于:
data: {lookuptype: lookuptype, lookupemail: lookupinput},
当使用对象作为ajax调用的数据
值时,必须提供键/值
对。在您的例子中,您提供了一个key=lookuptype
和一个value=,无论用户在email字段中键入什么。您没有为电子邮件
发送键/值
对
在服务器端,您可以使用以下键检索数据:
$lookuptype = $_POST['lookuptype'];
$lookupemail = $_POST['lookupemail'];
注意
如果要使lookuptype
选择单个key/value
对的键,则必须声明一个对象并对其进行操作:
var lookuptype = $('#type').val();
var lookupinput = $('#lookupemail').val();
var fData = {}; //<<<<<======
fData[lookuptype] = lookupinput; //<<<<<<======
$.ajax({
type: "POST",
url: "includes/dbsearch.php",
data: fData, //<<<<<<<=========
var lookuptype=$('#type').val();
var lookupinput=$('#lookupemail').val();
var fData={}// 如果要将对象作为数据参数传递,并将变量作为属性名称,则必须执行以下操作:
var ajaxData = {};
ajaxData[lookuptype] = lookupinput;
因此,总体而言,您应该这样做:
$("#lookupemail").keyup(function () {
var lookuptype = $('#type').val();
var lookupinput = $('#lookupemail').val();
// Create the data object
var ajaxData = {};
ajaxData[lookuptype] = lookupinput;
$.ajax({
type: "POST",
url: "includes/dbsearch.php",
data: ajaxData,
success: function (server_response) {
if (server_response != 0) {
//
} else {
//
}
}
});
});
现在,您已经知道了如何执行此操作,让我告诉您,这是一个坏主意,因为服务器不知道要在传递给它的数据中查找哪些属性。最好按照彼得卡的建议去做。更新:我知道你想做什么。试试看,{“+lookuptype,lookupinput}
@ochi,这行不通。@Juhana,我被纠正了,它行不通
var ajaxData = {};
ajaxData[lookuptype] = lookupinput;
$("#lookupemail").keyup(function () {
var lookuptype = $('#type').val();
var lookupinput = $('#lookupemail').val();
// Create the data object
var ajaxData = {};
ajaxData[lookuptype] = lookupinput;
$.ajax({
type: "POST",
url: "includes/dbsearch.php",
data: ajaxData,
success: function (server_response) {
if (server_response != 0) {
//
} else {
//
}
}
});
});