Pereiti prie turinio

Problema su mailer.lt - JS, PHP.


Rekomenduojami pranešimai

Sveiki,

 

turiu problemą. Tiesiog neveikia, spaudžiant Prenumeruoti mygtuką - nieko neįvyksta, jokio response. Gal pastebit kas ne taipt? Galima simboliškai ir atsiskaityti : )

 

 <div class="newsletter_box">
<div class="newsletter_box_header">
	<h3>Nepraleisk geriausių pasiūlymų! </h3>
	<span></span>
</div>
<form id="subscribe_it">
	<p>Paskutinė minutė, akcijos, geriausios kainos</p>
	<input id="newsletter_name" type="text" placeholder="VARDAS" />
	<input id="subscribe_button" type="button" value="PRENUMERUOTI"/>
	<input id="newsletter_email" type="text" placeholder="EL. PAŠTAS" />
	<a href="#">Privatumo nuostatos</a>
</form>
</div>
<script type="text/javascript">
$(document).ready(function(){		
	$('.newsletter_box_header span').click(function() {
		$('.newsletter_box').hide();
	});

	$('#subscribe_it').on('click', '#subscribe_button', function(){
		subscribe_newsletter();
	});
});

function subscribe_newsletter() {
$.ajax({
	url: "../libs/nusoap/newsletter.php",
	method: "POST",
	data: {
		email: $('#newsletter_email').val(),
		name: $('#newsletter_name').val()
	},
	success: function(x){
		var response = null;

		try {
			response = $.parseJSON(x);
		} catch (ex) {
			console.log(ex.message);
		}

		if (typeof response['status'] != 'undefined') {
			switch (response['status']) {
				case 'ok':
					// ok
					break;
				case 'error':
					if (typeof response['message'] != 'undefined') {
						// rodom errora kazkur
					}
					break;
			}
		}
	}
});
}

 

NEWSLETTER.PHP:

<?php
try {
	if (isset($_POST['email']) && isset($_POST['name'])) {
		$email = trim($_POST['email']);
		$name = trim($_POST['name']);

		if (empty($email)) {
			throw new Exception('Emailas negali but tuscias');
		}

		if (empty($name)) {
			throw new Exception('Vardas negali but tuscias');
		}

		require_once 'nusoap.php';

		$params = array(
			"api_key" => "####",
			"group_id" => ####,
			"email" => $mail,
			"name" => $name
		);

    		$client = new nusoap_client("http://mailer.lt/soapserver.php?wsdl");
    		$result = $client->call("addSubscriber", $params);

		if ($result['code'] == 0) {
			setcookie('submitedMail', 'true', time() + 60 * 60 * 24 * 30, '/');
			echo json_encode(array('status' => 'ok'));
		} else {
			throw new Exception($result['message']);
		}
	} else {
		throw new Exception('Nera pasto ar vardo');
	}
} catch (Exception $ex) {
	echo json_encode(array('status' => 'error', 'message' => $ex->getMessage()));
}
?>

 

ATNAUJINTA: pastebėjau, kad naudojant naują jquery absoliučiai viskas neveikia, nes gi uždarymo mygtukas. Jei įjungiu tinklapyje naudotą labai seną jquery - 1.2.6 (2008-05-24), tuomet kaip ir pradeda veikt (bent jau uždarymo knopkė), bet tada rašo, jog nėra praseJSON funkcijos, nes ji buvo pridėta tik 1.4.1 versijoj.

Redagavo ArvydasO
Nuoroda į pranešimą
Dalintis kituose puslapiuose

O tai tuo atveju kai "niekas neveikia" - tai JS nemeta į konsolę jokių klaidos pranešimų? Galbūt forma submitinasi ir tiek. Pabandyk gaudyt ne #subscribe_button paspaudimą, bet formos submit'inimą:

$('#subscribe_it').on('submit', function(e) {
    e.preventDefault();
    subscribe_newsletter();
});

, o pačio mygtuko type į type="submit" (vietoj dabartinio "button"). Ar pasikeis kas nors nuo to? Jeigu ne, tai žiūrėkis per debuger'į kas vyksta.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...