Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
368
Tıklama
0
Öne Çıkarma
Ajax'dan gelen veri sonraki sayfaya post edilmiyor. Lütfen yardım.
O
4 yıl
Er
Konu Sahibi

Sayın arkadaşlar hepinizi iyi günler dilerim. Yaklaşım 1 haftadır çözmeye uğraştığım bir problem var bir türlü beceremedim. Bilgisi olan var ise yardımcı olabilirse çok sevinirim.

Klasik ASP ile birlikte JScript AJAX kullanıyorum. Admin panelinde bir galeri ekleme sayfası yaptım. Sayfada textbox'lar ve listbox'lar var. Kullanıcı bir textbox1'e bilgi girdikten sonra Kontrol butonuna basınca AJAX>ASP>Veritabanı>ASP>HTML ile yazdığı yazıya uygun bir değer bir alttaki textbox2'ye geliyor. Ayrıca listbox1'den bir seçim yapınca listbox2 içeriği yine Ajax ile veritabanından güncelleniyor. Kullanıcı listbox'lar daki seçimini de gerçekleştirdikten sonra Kaydet tuşuna bastığı zaman POST ile bir sonraki ASP sayfası olan kayıt sayfasına gidiliyor.

Fakat nasıl oluyor anlamış diğer (statik / manuel giriş yapılan) textboxlar ve listboxlardaki veriler sonraki sayfaya post edilirken AJAX sonrası ASP'den gelen verilerin bulunduğu form elementleri (listbox2, textbox2 ....) değil herhangi bir değer göndermek, değişkenler sonraki sayfaya gitmiyor bile. Dolayısıyla kayıt ekranına bir önceki giriş sayfasındaki tüm form bileşenlerini aktaramıyorum. Problem nerededir. Bilgisi olan arkadaşlar yardımcı olabilirse çok sevinirim.

Sistem : Win10 / IIS10
Form Gönderim Metodu : POST
Kullanılan Tarayıcı : Edge / Chrome

VERİ GİRİŞ SAYFASI
< Resime gitmek için tıklayın >




POST SONRASI Edge Network Dökümü (EN ALTTA GİTMESİ GEREKEN 2 - 3 FORM ELEMENTİ HİÇ GİTMİYOR POST İLE)
Not : GET ile de gitmiyor.
Request URL: http://localhost/admin-panel/galeri_yeni_kaydet_adim2.asp
Request Method: POST
Status Code: 200 OK
Remote Address: [::1]:80
Referrer Policy: strict-origin-when-cross-origin
Cache-Control: private
Content-Length: 281
Content-Type: text/html
Date: Wed, 16 Dec 2020 00:41:53 GMT
Server: Microsoft-IIS/10.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: tr,en;q=0.9,en-GB;q=0.8,en-US;q=0.7
Cache-Control: max-age=0
Connection: keep-alive
Content-Length: 245
Content-Type: application/x-www-form-urlencoded
Cookie: __utmz=111872281.1607030071.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=111872281.2083291776.1607030071.1607895667.1607999300.4; ASPSESSIONIDCASCSAAT=GBDJDPJAGBMNKHCBBFKBKPJN
Host: localhost
Origin: http://localhost
Referer: http://localhost/admin-panel/galeri_ekleme_girisi.asp
Sec-Fetch-Dest: frame
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.60
galeri_id: 0
dil_kodu: TR
text_referans_404: DENEME
tablo_adi: glr
galeri_aciklama: 
title: 
keywords: 
description: 
ekleme_tarihi: 16.12.2020
sira_no: 0
galeri_altinda_yazi: TRUE
gorunurluk: TRUE
galeri_gorunusu: TRUE


Kullanılan JS.AJAX'dan bir kesit
function nesneyarat404() {
  var nesne404;   
  if(window.XMLHttpRequest){
  // code for IE7+, Firefox, Chrome, Opera, Safari
    nese404 = new XMLHttpRequest();
  }else{
// code for IE6, IE5    
    nesne404 = new ActiveXObject("Microsoft.XMLHTTP");
  }
  return nesne404;
}

var http = nesneyarat404();
function ayarla_404() {
  var tablo_adi404 = document.getElementById('tablo_adi').value;
  var baslik404 = document.getElementById('text_referans_404').value;
  var yenitarih404 = new Date().getTime();
if (tablo_adi404=='glr'){
  var dil_kodu404 = document.getElementById('dil_kodu').value;
}

http.open('get','ajax_404_olustur.asp?baslik404ref='+baslik404+'&tbl='+tablo_adi404+'&dil_kodu=' + dil_kodu404 + '&dummy=' + yenitarih404, true);
  http.onreadystatechange = function(){
    if(http.readyState == 4 && http.status == 200){
      document.getElementById('div_404_url').innerHTML = http.responseText;       
}
};

  http.send(null);
delete yenitarih;
}

JS'nin ÇALIŞTIRDIĞI ASP'den bir Kesit
<% 'ajax_404_olustur.asp
Response.ContentType = "text/HTML"
Response.Charset = "windows-1254"
Session.LCID = 1055
Session.CodePage = 1254
if session("admin")=true then
randomize
dim tarih_saat
dim dil_kodu
dim tablo_adi
dim baslik_ref
dim tarih_tmp
dim rasgele

dim yeni_404
dim sqlajax
dim kajax
dim vajax

rasgele = int(rnd*1000+1)

tarih_saat = request.querystring("dummy")
dil_kodu = request.querystring("dil_kodu")
tablo_adi = request.querystring("tbl")
baslik_ref = request.querystring("baslik404ref")

if len(baslik_ref&"a")>1 then

tarih_tmp = tarih_saat
tarih_tmp = replace(tarih_tmp, ".", "")
tarih_tmp = replace(tarih_tmp, ":", "")
tarih_tmp = replace(tarih_tmp, " ", "")

yeni_404 = olustur_404_adi(baslik_ref)
if len(yeni_404&"a")<2 then yeni_404 = tarih_tmp
yeni_404 = trim(yeni_404)
.
. veritabanı bağlantısı
.

if kajax.recordcount=1 then %>
<input type="text" value="" name="url_404_tmp" id="url_404_tmp" size="30" style="font-family: Tahoma; color: #FF0000; font-size: 8pt; font-weight: bold; border: 1px solid #000000"> 
[color= #FF0000]&nbsp; Oluşturulacak 404 URL'si veritabanında mevcut. Bu yüzden lütfen başlığınızı değiştiriniz.[/color]
<% else %>
<input type="text" value="<%=yeni_404%>" name="url_404_tmp" id="url_404_tmp" size="30" style="font-family: Tahoma; color: #FF0000; font-size: 8pt; font-weight: bold; border: 1px solid #000000"> 
[color= #008000]&nbsp; OLUŞTURULABİLİR[/color]
<% end if
.
.
.


Resimdeki Galeri Başlık kısmına örneğin DENEME yazıyorum Kontrol butonuna bastığım zaman alttaki textbox'a (url_404_tmp) veri düzgün geliyor. Ama POST yapıp sonraki sayfaya gidince o textbox hiç bir şekilde gitmiyor. Aynı durum Ajax ile veri çektiğim listbox'larda da var. Bu arada asp sayfalarının başında
<%@ CodePage=1254 Language="VBScript" %>
<% Option Explicit %>
<% session.lcid = 1055 %>
komutları da vardır. HTML sayfasının baş kısmı da aşağıdaki gibidir.


<html>

<head>
<meta http-equiv="Content-Language" content="tr">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
<script language="javascript" src="ajax_fg.js" type="text/javascript"></script>
<script language="javascript" src="ajax_404.js" type="text/javascript"></script>
<script language="javascript" src="ajax_404_kontrol.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="sema.css" />
<meta http-equiv="cache-control" content="no-cache" />

</head>

<body onload="bannersec_fg();">
<img src="images/menu_ana_kategori.gif">&nbsp; [[link=galeri_ekleme_girisi.asp]Fotoğraf Galerisi Ekle[/link]]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<img src="images/menu_ana_kategori.gif">&nbsp; [[link=galeri_listele.asp]Fotoğraf Galerisi Listele[/link]]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img src="images/menu_ana_kategori.gif">&nbsp; [[link=galeri_listele_agac.asp]Galeri Ağaç Listesi[/link]]




<table border="1" width="100%" id="table1">
<form method="POST" action="galeri_yeni_kaydet_adim2.asp" name="myform">
<input type="hidden" id="galeri_id" name="galeri_id" value="0">
<tr>
<td bgcolor="#99CCFF">Galeri Dili *</td>
.
.
.


Biraz soru uzun oldu ama şimdiden teşekkürler...



O
4 yıl
Er
Konu Sahibi

Arkadaşlar Win10 / IIS10 olan bilgisayarıma Oracle VM VirtualBOX kurdum. Sanal makineye de Windows XP Pro SP3 kurulumu yapıp IIS5.1 kurulumunu gerçekleştirdim. Yukarıdaki kodlar nasıl oluyorsa XP üzerinde hatasız çalışyor Win10+IIS10'da çalışmıyor. Dediğim gibi form'u post yaparken Ajax ile değiştirilmiş/güncellenmiş form alanları diğer sayfaya değil verisi değişken adı bile gitmiyor.

Bu nokta da çözüm bulabilmem konusunda yardımcı olabilmeniz adına ışık tutabilir. Teşekkürler...



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.