0
このコードを何度も試してみましたが、まったく動作していないようです。アプリケーションで選択したjqueryを使用しています。PHPのAJAXポストでNull値を取得する
$(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の値を見ることができるネットワーク]タブ上のFirefoxでそれをデバッグするのですが、応答]タブにはNULLを返します。ほぼ一週間の問題です。
public function result(){
// Your variable is here:
var_dump($_POST['data']);
// echo json_encode($_POST['data']);
die();
}
の$ _POST、Eを清掃することを忘れないでください:私はあなたが$ _POSTからの配列を読み取る必要があるAJAX
あなたが試した他の何か: 'echo json_encode($ _ POST ['data']); ' – C2486
あなたの質問は、大いに役立つ詳細が欠けています。あなたの質問には、あなたの問題が何であるか、Ajaxが返すものを明示的に説明する必要があります。しかし、PHPのresult関数を見てください。関数のスコープ内にない変数にアクセスしようとしているため、実際にはJSON_Encodeにデータは渡されません。これにより、json_encodeはデータを返しません。これはおそらくあなたの問題ですが、それ以上の情報がなければ、言うことは難しいです。 –