ajaxリクエストに問題があります。関数は、ショッピング カート内のアイテムを増減することです。インクリメント イベントが発生すると、印刷時に post 配列が空になります。
Firebug は、post リクエストでパラメーターが送信されていることを示していますが、コントローラーには何も到着しません。
実装されたソリューションは少しだらしないですが、これはあるべき姿です。jquery は、document.ready シグネチャの外部にある非匿名メソッドであり、問題の原因となる可能性があります。
これが私が持っているものです...
jQuery
function increment_item($ciid){
$("#processing").fadeIn("fast");
$.ajax({
url: "<?=BASE_URL?>landing/inc_cart_item",
type: "post",
dataType: "json",
data: {id:$ciid,},
success: function(data){
$("#processing").fadeOut("fast");
if(data.error) {
alert(data.error);
} else {
// parent.$('#line1').text(data.line1);
//parent.$('#line2').text(data.line2);
//parent.$('#address-dialog').dialog('close');
alert(data.line1);
}
}
});
//return false;
};
ビューのトリガー...
<a href="#" onClick="increment_item(<?=$item['cart_item_id']?>)" class="qty-inc-button" >More</a>
コントローラメソッド...
function inc_cart_item(){
$return_val = $this->cart_model->increment_cart_item($this->session->userdata('cart_id'),$this->input->post('id'));
}
生成されたソースを追加するために編集されました...
テーブルデータ
</thead>
<tbody id="item_2823">
<tr>
<td>
<img src="http://localhost/cdn/images/112/7/thumb_lemberger2010.jpg">
<p style="color: #666;">Bader</p>
<p style="font-size: 16px;">Stettener Lindhälder Lemberger</p>
<a href="#" onclick="remove_item(2823)" id="remove-item-button" class="remove-item-button">Remove this item</a>
</td>
<td class="align-td-center">
8.20€ </td>
<td class="align-td-center">
<a href="#" onclick="increment_item(2823)" id="qty-inc-button" class="qty-inc-button">More</a>
1 <a href="#" onclick="decrement_item(2823)" id="qty-dec-button" class="qty-dec-button">Less</a>
<input id="item_id" class="item_id" value="2823" type="hidden">
</td>
<td class="align-td-center">
<span id="value-shipping-2823">8.20€</span>
</td>
</tr>
</tbody>
<tbody id="item_2824">
<tr>
<td>
<img src="http://localhost/***/cdn/images/112/5/thumb_kerfttropfle2010.jpg">
<p style="color: #666;">Bader</p>
<p style="font-size: 16px;">Kerftströpfle</p>
<a href="#" onclick="remove_item(2824)" id="remove-item-button" class="remove-item-button">Remove this item</a>
</td>
<td class="align-td-center">
5.10€ </td>
<td class="align-td-center">
<a href="#" onclick="increment_item(2824)" id="qty-inc-button" class="qty-inc-button">More</a>
1 <a href="#" onclick="decrement_item(2824)" id="qty-dec-button" class="qty-dec-button">Less</a>
<input id="item_id" class="item_id" value="2824" type="hidden">
</td>
<td class="align-td-center">
<span id="value-shipping-2824">5.10€</span>
</td>
</tr>
</tbody>
生成されたjquery
function increment_item($ciid){
$("#processing").fadeIn("fast");
$.ajax({
url: "http://localhost/***/***/landing/inc_cart_item",
type: "POST",
dataType: "json",
data: {id:$ciid},
success: function(data){
$("#processing").fadeOut("fast");
if(data.error) {
alert(data.error);
} else {
// parent.$('#line1').text(data.line1);
//parent.$('#line2').text(data.line2);
//parent.$('#address-dialog').dialog('close');
alert(data.line1);
}
}
});
};
繰り返しますが、ここで使用しようとしている jQuery 関数は、$(document).ready(function() { コード ブロックで生成された他のすべての jQuery の外にあります。これが原因であるかどうかはわかりません。
私は少しの間それと格闘してきました。すべての助けに感謝します。
ありがとう