根据输入值更改 AJAX 参数
Changing AJAX Params based on input values
我有两个输入与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 </option>
<option value="lead"> Lead </option>
</select>
ajax调用工作正常,但它似乎没有通过我的查找类型。我的变量格式是否正确?
<script>
$("#lookupemail").keyup(function () {
var lookuptype = $('#type').val();
var lookupinput = $('#lookupemail').val();
$.ajax({
type: "POST",
url: "includes/dbsearch.php",
data: {lookuptype: lookupinput},
success: function(server_response)
{
if(server_response != 0) {
//
} else {
//
}
}
});
});
</script>
它通过:
lookuptype:"conner@asdsafsdf"
而不是。。 成员:"conner@asdsafsdf"
而不是:
data: {lookuptype: lookupinput},
使用类似以下内容:
data: {lookuptype: lookuptype, lookupemail: lookupinput},
将对象用于 ajax 调用的data
值时,必须提供key/value
对。在您的情况下,您提供的键 = lookuptype
和值 = whatever-the-user-types-in-email-field
。您没有为email
发送key/value
对。
在服务器端,您可以使用以下键检索数据:
$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 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 {
//
}
}
});
});
现在您知道如何执行此操作,让我告诉您这是一个坏主意,因为服务器不知道在传递给它的数据中查找哪些属性。最好按照PeterKA的建议去做。
相关文章:
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- Ajax.ActionLink-传递javascript参数
- 原型Ajax请求参数为嵌套json
- 如何在所有ajax调用中向URL添加参数
- XMLHttpRequest.open()AJAX中的参数url
- 使用AJAX POST从javascript到带有Strong参数的Rails4控制器
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- Ajax中参数后缺少括号
- ajax post在webapi中传递null参数
- 如何参数化ajax TruClient脚本中的值
- 聚合物-Prolems成功发送核心ajax参数
- 序列化的 Ajax 参数未显示在 PHP 中
- 如何通过角度服务器路由发送 Ajax 参数
- 谷歌地理位置没有采取所有ajax参数作为地址
- 根据输入值更改 AJAX 参数
- 向 ajax 参数添加循环
- 通过数组作为$ajax参数MVC
- Grails: Ajax参数没有到达控制器
- 在流程图中传递ajax参数
- 我需要获取asp.net文件上传到Ajax参数的值