Hey guys, sunucu tarafında Spring MVC frameworkünü kullanıyorum ve istemci tarafında JS/Jquery ajax, veritabanı Oracle'dır.Tek bir düğmeyle ilişkilerle (yabancı anahtar) birden çok tabloya jquery ajax gönderi gönderme
3 adımda bir form sihirbazım var ve bu form doldurulmuş tüm verileri birden çok tabloya gönderecek.
İşte ne çalışıyor -> Ana tabloya (Business Info tablosu) ekleme, her şey beklendiği gibi tabloya girdi.
Not: Tablo tetik ve dizi yöntemi kullanılarak otomatik artışlı değere ayarlanır.
Not2: Aşağıdaki tüm JS'ler tek düğmeyle gönderim etkinliği altında, hangisinin çalıştığını ve hangisinin olmadığını göstermek için ayırdım. Burada
submit.on('click',function() {
var currentDate = new Date();
var business_data = {
ubiId : '',
ubiName : business_name.val(),
ubiStartDate : moment(business_start_date.val() + ' ' + '00:00 AM', "DD-MM-YYYY hh:mm A"),
ubiAddress : business_address.val(),
ubiCity : business_city.val(),
ubiState : business_state.val(),
ubiPostcode : business_postcode.val(),
ubiPhone : business_phone.val(),
ubiEmail : business_email.val(),
ubiType : $('input:radio:checked', businesstype_list).val(),
ubiRegisterAgency: $('input:radio:checked', agency_list).val(),
ubiRegisterSsm: $('input:radio:checked', ssm_list).val(),
ubiStatus: 'P1',
ubiAppliedBy: Index.getUserInfo().cmsId,
ubiApplyDate: currentDate,
ubiSsmNo: ssm_no.val(),
ubiOwnerId: matrik_number.val(),
ubiOwnerYearstartBusiness: $('input:radio:checked', yearstart).val(),
ubiOwnerPhone: student_phoneno.val(),
ubiOwnerEmail: student_emailadd.val(),
ubiOwnerStudyyear: $('#student_studyyear').val(),
ubiOwnerFac: $('#student_faculty_code').val(),
ubiLecturerId : lecturer_name.val(),
deanId : dean_name.val()
//nature : nature_business.val()
};
console.log(business_data);
$.ajax({
type: "post",
url: 'home/umkei/ssuForm/create',
data: JSON.stringify(business_data),
contentType : "application/json",
beforeSend:function(){
showMetronicLoading(el,msgLoading);
},
error: function(){
Metronic.unblockUI(el);
showMetronicAlert('danger','warning',msgInternetError);
},
success: function(){
Metronic.unblockUI(el);
//console.log(d);
showMetronicAlert('success','check',msgSuccess);
}
});
});
@RequestMapping("/ssuForm/create")
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public UmkeiBusinessInfo createSsuForm(@RequestBody UmkeiBusinessInfo umkeiSsu) {
UmkeiBusinessInfo createSsuForm = umkeiBusinessInfoService.create(umkeiSsu);
return createSsuForm;
}
Bununla birlikte, bu temel birincil anahtarın bağlantılı başka tablolara itilmesi gerekmektedir şeklinde başka bir alan, yani, Bahar denetleyicisi kodudur (İş Bilgisi PK -> UBI_ID sütunu)
Başka bir tablo, Business_Id sütununa Business_info tablosuna (Ubi_id) sütununda yabancı anahtar olarak davranan Business_Id sütununa sahiptir.
Eklenen birincil anahtarın değerini nasıl alabilirim ve bu diğer tabloya nasıl ittiririm? İşte
Ben (başka eylem oluşturmak yoluyla) çalışmıyor benim JS dosyasında (içinde Sonra@RequestMapping("/info/businessId/{ubiId}")
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public String infoBusinessId(@PathVariable("ubiId") String q) throws SQLException {
UmkeiBusinessInfo businessInfo = umkeiBusinessInfoService.findById(q);
UmkeiBusinessInfo businessId = umkeiBusinessInfoService.findById(businessInfo.getUbiId());
JSONObject o = new JSONObject();
o.put("id", businessId.getUbiId());
return o.toJSONString();
}
, ben tarayıcının konsolunda 404 var İlkbahar Kontrolörü yargılanması budur
$.ajax({
url: 'home/umkei/info/businessId/'+ ubiId //(I think it has something to with this one??) I dont know what to insert here,
dataType: 'json',
beforeSend:function(){
showMetronicLoading(el,msgLoading);
},
error: function(){
Metronic.unblockUI(el);
showMetronicAlert('danger','warning',msgInternetError + '. Failed to load business ID');
},
success: function(){
Metronic.unblockUI(el);
}
});
Aşağıda
Ben
var nature = {
ubtBusinessInfo: //here is where I need to insert the new id inserted from the above code,
ubtBusinessListing: //here is the value which is selected by the user
};
//console.log(nature);
$.ajax({
type: "post",
url: 'home/umkei/ssuForm/create/nature',
data: JSON.stringify(nature),
contentType : "application/json",
beforeSend:function(){
showMetronicLoading(el,msgLoading);
},
error: function(){
Metronic.unblockUI(el);
showMetronicAlert('danger','warning',msgInternetError);
},
success: function(d){
Metronic.unblockUI(el);
showMetronicAlert('success','check',msgSuccess);
}
});
eklemeye çalışıyorum biridir Ya, benim yaklaşım yanlış mı? Lütfen bazı biri beni aydınlatsın. Teşekkür ederim.
Kodumda var. Yukarıdaki yorumlu kodun hemen arkasında, doğru veya emin olmadığından emin değilim. – Luqman
Hayır, eğer eklerseniz, sonunda yok sayılır, yanıtta söylediğim gibi ayarlayın. url: 'ev/umkei/bilgi/businessId /' + ubiId, // yorum – cralfaro
yaptım. Yorum mevcut kodda değil. Aynı söylediğin gibi ayarlandı. Sadece SO yorumunu ekledim çünkü ubiId değerini elde etmek için yardıma ihtiyacım var. – Luqman