私はラジオボタンを持っていて、どれが選択されているかを判断します。結果AJAX呼び出し後に変数に保存されません - CodeIgniter
私は私のホームコントローラを呼び出し、私のホームコントローラにはifステートメントがあります。 if文はデータベースから数値を返すモデルを指しています。
AJAXにエコー/コンソールログを記録すると、その番号が表示されます。私はその番号を抽出し、私のコードで送料としてそれを置く必要があります。
ますreturn $出荷、何も私は好きそれを呼び出す必要があります別のセクションでは
を返さないように取得し、私は何かを:$送料=の$ this - > shipping_zones();
保存しない理由はありますか?
AJAX
function Shipping_SelfFull(selforfull) {
var self_full = selforfull.value;
var url = "";
if (self_full == 'self') {
url = base_url+'index.php/home/shipping_zones/self';
console.log('you chose self');
update_calc_cart();
} else if (self_full == 'full') {
url = base_url+'index.php/home/shipping_zones/full';
console.log('you chose full');
update_calc_cart();
}
$.ajax({
url: url,
success: function(html){
var shipping = html;
console.log(html);
}
});
}
コントローラ
<?php
function shipping_zones($para1=""){
$shipping = '';
if ($para1 == 'self') {
$shipping = $this->crud_model->shipping_based_on_zones('self');
echo $shipping;
return $shipping;
}
if ($para1 == 'full') {
$shipping = $this->crud_model->shipping_based_on_zones('full');
echo $shipping;
return $shipping;
}
return $shipping;
}
?>
モデル
<?php
// Shipping Based On Zones
function shipping_based_on_zones($para1=""){
if ($this->session->userdata('user_login') == "yes") {
$current_user_id = $this->session->user_id;
$user_membership_level = $this->db->query("SELECT * FROM user WHERE user_id='$current_user_id'")->row()->membership_level;
$user_country = $this->db->query("SELECT * FROM user WHERE user_id='$current_user_id'")->row()->country;
$country_zone_result = $this->db->query("SELECT * FROM country_zones WHERE country LIKE '%\"$user_country\"%'");
}
if ($user_membership_level == '1') {
if ($para1 == 'self') {
return $country_zone_result->row()->vip_self_shipping;
} elseif ($para1 == 'full') {
return $country_zone_result->row()->vip_full_shipping;
}
}
if (($user_membership_level >= '2') && ($user_membership_level <= '5')) {
if ($para1 == 'self') {
return $country_zone_result->row()->member_self_shipping;
} elseif ($para1 == 'full') {
return $country_zone_result->row()->member_full_shipping;
}
}
}
?>
これはすべてあなたのコードですか?もしそうなら、ajax呼び出しで送信されるデータはありませんか? '' data:{} 'を使用してください –
json_encodeをあなたの返信データをコントローラにエコーする必要があるかもしれません。 return json_encode($ shipping); – khushi
いいえ、私はAJAXで私は結果をログコンソールを意味します。結果が表示されます。私はその結果を家のコントローラに保存して、それ以外の場所に表示する必要がありますが、私は疲れていません – D12L12