use*_*410 1 parameters ajax jquery .post
我试图使用jQuery中的$ .post对象向php脚本发送一个名称:值对,其中name和value都是变量.我已经将变量发送到FF中的控制台,所以我知道它们设置正确,但是当我查看正在发送的标头时,只是正确评估了值变量,该名称将作为变量的文字字符串发送名称.这是完全的功能:
$(document).ready(function() {
$('#formS form fieldset > input').blur(function() {
if($(this).val()=='' && $(this).prev().is('img')) {
$(this).prev().remove();
return;
}
if((($(this).is('#formS form fieldset > input[id*=mail]')) ||
($(this).is('#formS form fieldset > input[id*=sername]'))) &&
($(this).val()!="")) {
var email_field = $(this);
if(!$(this).prev().is('img')){
$('<img src="" alt="" style="width: 16px; height: 16px;" />').insertBefore(this);
}
var type = ($(this).is('input[id*=sername]'))?'username':'email';
var value = $(this).val();
$.post('checkemail.php5', {type:value}, function(data) {
if(data == "free") {
email_field.prev().attr('src','/images/greentick.png').attr('alt','available');
} else if(data == "taken") {
email_field.prev().attr('src','/images/redcross.png').attr('alt','taken');
} else {
console.log('hmmm'+data);
}
});
}
});
});
Run Code Online (Sandbox Code Playgroud)
因此,发送的标头是文字字符串类型,无论值是什么值.有人有什么想法吗?
Dar*_*con 10
因为语法{}采用一组名称:值,其中名称成为对象的属性.正如您所见,这是一个文字,不能是变量.用这个:
var params = {};
params[type] = value;
Run Code Online (Sandbox Code Playgroud)
并传递params而不是{type:value}