私は現在、モデルに渡すよりもコントローラーのコントローラーにデータを送り返そうとしています。
送信ボタンを押すと (すべてのフィールドが入力された状態で)、確認ドロップダウンを起動する成功応答が返されますが、brand/save_new_brand() メソッドは起動しません。私は print_r($_POST); を持っています。死ぬ(); 念のために言っておきますが、まだ何もありません。
リクエストのパスは正しく、成功時のリダイレクトと同じメソッド呼び出しを禁止しているため、問題はありません。
これが私が持っているものです...
$.ajax({
url: "<?=sbase_url()?>admin/brands/save_new_brand",
global: true,
type: "POST",
data: ({
<?php
foreach($languages as $lang):
if($lang['language_status'] == 'SHOW'):
echo "'brand_name_" . $lang['language_id'] . "' : $('#brand_name_" . $lang['language_id'] ."').val(),";
echo "'description_" . $lang['language_id'] . "' : tinyMCE.get('description_". $lang['language_id'] . "').getContent(),";
endif;
endforeach;
?>
'brand_status' : $('#brand_status :selected').val()
//,'brand_country' : $('#brand_country :selected').val()
}),
dataType: "html",
async: true,
beforeSend: function() {
$('#submit_button').hide();
$("#processing").show();
},
success: function(data){
parent.$.fancybox.close();
$("#processing").hide();
$.prompt('Brand created!',{ show:'slideDown', opacity: 0.5, timeout:2000, overlayspeed:'fast', promptspeed:'fast' });
$('#list_content').load('<?=sbase_url()?>admin/brands/list_all');
},
error: function(xhr,err){
$("#processing").hide();
alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
alert("responseText: "+xhr.responseText);
}
コメントされたビットは追加された新しいものであり、それが私がこの問題を見つけたときであり、パス比較のためだけに「成功」セグメントもコピーしました。すべての助けに感謝します、ありがとう。
これが https に基づいている管理セクションを追加するように編集されましたが、localhost では https が取り消し線で囲まれています。これは ajax 要求に干渉している可能性がありますか?