フォームから入力値を取得するためにajaxで作業していましたが、コンソールを調べると0
に戻ります。私はあまりにもAjax全体に精通していないので、私はthis
を正しく使用していないかどうか、または私はどこか他のエラーがある場合はわからない。ここでajaxでデータをマッピングすると、ゼロが返されます
は、私が持っているものです。
JS:コンソールで console.log($(this).find('#input_18_16').val());
:
jQuery(this).find(".form-item").on("submit", function(e) {
var $this = jQuery(this);
if (this.checkValidity()) {
e.preventDefault();
$.ajax({
url: Config.ajaxurl,
type: 'POST',
dataType: 'json',
accepts: 'application/json',
context: this,
data: {
action: 'process_form',
form_info: {
"input_18_16": $(this).parents('.form-item').find('#input_18_16').val() || '',
"input_18_17": $(this).parents('.form-item').find('#input_18_17').val() || '',
"input_18_3": $(this).parents('.form-item').find('#input_18_3').val() || '',
"input_18_2": $(this).parents('.form-item').find('#input_18_2').val() || ''
},
},
success: function(data, status, xhr) {
console.log('Response:\n', data)
console.log('successful trigger');
console.log($(this).find('#input_18_16').val());
},
error: function(xhr, code, error) {
console.log(error)
}
})
}
});
狂気の事は、私がこれからデータを正しく取得することができるということです。何らかの理由でconsole.log('Response:\n', data)
がResponse:0
に戻ってきたので、なぜ成功したのですが、何も返せないのか分かりません。
あなたが正しいかもしれません、その時点での '$(this)'はajax呼び出しを参照することができます... 'this'が正しい要素を指しているかどうかわからない場合は、コンソールで... –