誰かが私に手を差し伸べることができたら幸いなことにエラーを見つけようと思っています。値を取得する更新SQL文を実行しようとしています。 POST AJAXリクエストとすべてがうまくいくようですが、テーブルの値は更新されません。Codeigniter Ajaxのparamが動作しないSQLテーブルの更新
アプリケーションの流れはこのようなものです(と、それは実際に動作する、単なるデータの更新なし):
私の見解では私は4つのテキストフィールドに入力値へのユーザーのためのモーダルウィンドウを爆発させるボタンがあり、ユーザーはボタンをクリックして、POST AjAX呼び出しでその値を送信し、コントローラーとメソッドが更新を処理した後、ユーザーは最初にボタンをクリックしたのと同じページに戻ります。
などの追加情報に、パスが正しい、流れが正常に動作しますが、値はコントローラにAJAX呼び出しを通じて正しく送信されているが、私は上...その時点から失われています:S
わかりません私が間違ってやっている、任意のヘルプは大歓迎です
//マイビュー - HTMLボタン//
<a href="javascript:" onclick="service_report_additional_data(<?php echo $jobDetails[0]['job_id'] ?>)" class="dark_grey"><i class="fa fa-file fa-2x" aria-hidden="true" ></i></a>
//マイビュー - HTMLモーダルウィンドウコード//
<div id="confirmation_box_service_report_additional_data" title="" style="display:none;">
<h1 align="center" style="color: #333333"><?php echo $this->lang->line('service_report_title') ?></h1><br />
<h2 align="center" style="color: #DF9E0A"><strong><?php echo $this->lang->line('project_service_comments') ?></strong></h2><br />
<form id="form_service_report_additional_data" name="form_service_report_additional_data" method="post" action="">
<table width="100%">
<tr>
<td width="45%" class="red_cell_background">
<div class="form-group">
<label for="client_images_comments"><?php echo $this->lang->line('client_images_comments') ?></label>
<textarea class="form-control" rows="5" id="client_images_comments"></textarea>
</div>
</td>
<td width="5%" class="purple_cell_background"> </td>
<td width="45%" class="purple_cell_background"><div class="form-group">
<label for="specialist_images_comments"><?php echo $this->lang->line('specialist_images_comments') ?></label>
<textarea name="specialist_images_comments" rows="5" class="form-control" id="specialist_images_comments"></textarea>
</div></td>
</tr>
<tr>
<td class="red_cell_background"><div class="form-group">
<label for="spare_parts_comments"><?php echo $this->lang->line('spare_parts_comments') ?></label>
<textarea name="spare_parts_comments" rows="5" class="form-control" id="spare_parts_comments"></textarea>
</div></td>
<td class="purple_cell_background"> </td>
<td class="purple_cell_background"><div class="form-group">
<label for="final_comments"><?php echo $this->lang->line('final_comments') ?></label>
<textarea name="final_comments" rows="5" class="form-control" id="final_comments"></textarea>
</div></td>
</tr>
</table>
</form>
</div>
//私のJavascriptのモーダルウィンドウのコード//
function service_report_additional_data(jobId) {
$("#spare_parts_comments").val("<?php echo $jobDetails[0]['spare_parts_description']; ?>");
$("#confirmation_box_service_report_additional_data").dialog({
autoOpen: false,
resizable: false,
width: 900,
heightStyle: "content",
modal: true,
closeOnEscape: false,
open: function(event, ui) {
$(".ui-dialog-titlebar-close", ui.dialog | ui).hide();
},
buttons: [
{
text: "<?php echo $this->lang->line('save_and_close'); ?>",
class: "btn btn-warning",
click: function() {
var clientImagesComments = $('#client_images_comments').val();
var technicianImagesComments = $('#specialist_images_comments').val();
var sparePartsDescription = $('#spare_parts_comments').val();
var finalThoughts = $('#final_comments').val();
//alert(finalThoughts)
servicereportadditionaldatasaving(jobId, clientImagesComments, technicianImagesComments, sparePartsDescription, finalThoughts);
},
},
{
text: "<?php echo $this->lang->line('Cancel'); ?>",
class: "btn btn-default",
click: function() {
$(this).dialog("close");
}
}
],
close: function() {
$(this).dialog("close");
}
});
$("#confirmation_box_service_report_additional_data").dialog('open');
}
//私のAJAX呼び出し//
function servicereportadditionaldatasaving(jobId, clientImagesComments, technicianImagesComments, sparePartsDescription, finalThoughts) {
//alert(clientImagesComments)
$.ajax({
type: "POST",
url: "<?php echo base_url() . DISPATCHERADMIN . '/jobs/servicereportadditionaldatasaving/' ?>",
data: {
'jobId': jobId,
'clientImagesComments': clientImagesComments,
'technicianImagesComments': technicianImagesComments,
'sparePartsDescription': sparePartsDescription,
'finalThoughts': finalThoughts
},
success: function (data){
//alert(data);
location.href = '<?php echo base_url() . DISPATCHERADMIN . '/myjob/details/' ?>' + jobId;
},
error: function (jqXHR, textStatus, errorThrown){
console.log('error:: ' + errorThrown);
}
});
}
//マイコントローラー//
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Jobs extends CI_Controller {
public function __construct() {
// Construct the parent class
parent::__construct();
$this->lang->load('message', 'english'); // language file
$this->load->model('dispatcher/jobs_model');
}
public function servicereportadditionaldatasaving() {
$postData = $this->input->post();
$data = array(
'table_name' => 'jobs',
'job_id' => $postData['jobId'],
'client_images_comments' => $postData['clientImagesComments'],
'technician_images_comments' => $postData['technicianImagesComments'],
'spare_parts_description' => $postData['sparePartsDescription'],
'final_thoughts' => $postData['finalThoughts']
);
$this->jobs_model->update_job_service_report_additional_data($data);
}
}
?>
//マイモデル//
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Jobs_model extends CI_Model {
public function __construct() {
parent::__construct();
}
public function update_job_service_report_additional_data($data) {
extract($data);
$this->db->where("job_id", $job_id);
$success = $this->db->update($table_name, array('client_images_comments' => $client_images_comments,
'technician_images_comments' => $technician_images_comments,
'spare_parts_description' => $spare_parts_description,
'final_thoughts' => $final_thoughts
));
if($success) {
return $success;
} else {
return false;
}
}
}
?>
モデルで 'var_dump($ data)'してみましたか? – jesuisgenial
こんにちは、返信ありがとう、私はそれを試みましたが、私はその出力を見る場所を見つけるように見えない、私は、ブラウザのデバッガ、コンソールとネットワークのタブで試したと私はできません JOBID = 462 clientImagesComments = CCC technicianImagesComments = EEE sparePartsDescription = AAAAA finalThoughts =:それが表示されている場合、私は、ブラウザの開発ツールで、[ネットワーク]タブから見ることができますどのような は、以下のparamsが送信されていることで、参照fuf コントローラ:http:// localhost/mysite/dispatcher/jobs/servicereportadditionaldatasaving/ – JullGreen
クロム開発者ツールを使用している場合は、[ネットワーク]タブに移動し、[xhrフィルタ]を選択してajax URLを見つけます。要求と応答に関する情報が表示されます。何も表示されない場合は何かが間違っています。 – jesuisgenial