Проблемы прохождение jQuery $ .post переменной в качестве параметра
-
21-09-2019 - |
Вопрос
Я пытаюсь отправить имя: пара значений в сценарий PHP, используя объект $ .post в jQuery, где и имя, и значение являются переменными. Я отправил переменные в консоль в 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);
}
});
}
});
});
Итак, отправляемые заголовки - буквальная струна тип, и что угодно ценность оценивает. У кого -нибудь есть идеи, почему?
Решение
Потому что синтаксис {} принимает набор имени: значение, где имена становятся свойством на объекте. Это буквально и не может быть переменной, как вы видите. Использовать это:
var params = {};
params[type] = value;
и пройти параметры вместо {type: value}
Другие советы
Я не уверен в том, в чем ваша проблема, мне это не так ясно. Я также не знал в PHP, но вы можете попробовать это так:
var type = ($ (this) .is ('input [id*= sername]'))? 'username': 'email'; var value = $ (this) .val (); var data = type+"="+value;
$ .post ('checkemail.php5', data, function (data) {.......
Самый лучший,
Точно то, что я искал Темного Сокола, спасибо!
Было трудно найти это решение, кстати. Я предполагаю, что большинство людей просто сериализуют данные формы и отправляют их в качестве параметра Post, но в некоторых случаях приятно использовать Variable-name => сопряжение с переменной стоимость Переменная работала