Я много раз пробовал отлаживать этот код, но он не работает вообще. Я использую выбранный jquery в своем приложении.Получение нулевых значений на пост AJAX в PHP
Вот мой код:
$(document).ready(function(){
var status = [];
var method = $(this).attr('data-method');
var config = {
'.chosen-select' : {},
'.chosen-select-deselect' : {allow_single_deselect:true},
'.chosen-select-no-single' : {disable_search_threshold:10},
'.chosen-select-no-results': {no_results_text:'Oops, nothing found!'},
'.chosen-select-width' : {width:"95%"}
}
for (var selector in config) {
$(selector).chosen(config[selector]);
}
$("#test").chosen().change(function(e, params){
console.clear()
$("#test :selected").each(function(i,selected)
{
status[i] = $.trim($(selected).text());
})
console.log(status);
var new_var = JSON.stringify(status);
$.ajax({
type: "POST",
url: "<?php echo site_url('request/result') ?>",
data: { data: new_var }
}).done(function(data) {
alert("Data Send:");
}).fail(function() {
alert("Data Not Sent");
});
e.preventDefault();
}); });
new_var имеет значения массива, но я не могу опубликовать его значение в мой контроллер.
Контроллер: request.php
public function result(){
echo json_encode($status);
die();
}
Я ее отладки на светлячок на вкладке сети я могу увидеть значения на Params, но на вкладке ответ она возвращает NULL я не могу показаться, чтобы решить проблема в течение почти недели. У меня нет никаких идей, как ее решить, потому что я новичок в AJAX
Что еще вы пытались: например, 'echo json_encode ($ _ POST ['data']);' – C2486
В вашем вопросе не хватает деталей, которые очень помогут. Ваш вопрос должен явно объяснить, какова ваша проблема и что вы ожидаете от Ajax. Однако посмотрите на свою функцию результата в PHP. Вы пытаетесь получить доступ к переменной, которая не входит в объем функции, и поэтому вы эффективно передаете JSON_Encode никаких данных. Это приведет к тому, что json_encode не вернет никаких данных. Это, скорее всего, ваша проблема, но без дополнительной информации, это трудно сказать. –