Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Cross domain con AJAX

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    92

    Cross domain con AJAX

    Salve la faccio breve, codice html

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Documento senza titolo</title>
    <style type="text/css">


    #sqeeze {
    background-color: #F0F0F0;
    width: 374px;
    border: thin solid #000000;
    margin: 0px auto;
    }

    #sqeeze #sqeeze_header {
    position:relative;
    height:34px;
    background-color:#17ADDF;
    }

    #sqeeze #sqeeze_header_title {
    height:inherit;
    color: white;
    text-align:center;
    font-family: arial;
    font-size:20px;
    line-height:34px;
    }

    #sqeeze #sqeeze_header_openClose {
    position:absolute;
    top:5px;
    right:5px;
    width:10px;
    height:10px;
    }

    #sqeeze #sqeeze_body {
    color: #254B64;
    font-family: Arial;
    font-size: 15px;
    line-height: 22px;
    text-align: justify;
    padding: 20px 10px 15px 10px;
    }
    #sqeeze #sqeeze_form #sqeeze_form_left {
    float:left;
    width: 267px;

    color: #254B64;
    font-family: Arial;
    font-size: 10px;
    text-align:justify;
    padding: 0px 10px 10px 10px;
    line-height: 12px;
    }
    #sqeeze #sqeeze_form #sqeeze_form_left #sqeeze_form_left_text {
    display:block;
    width: 267px;

    }

    #sqeeze #sqeeze_form #sqeeze_form_right{
    float:left;
    margin-left:0px;
    width: 81px;
    height: 59px;
    background-image:url(busta.png);
    cursorointer;
    }
    </style>
    </head>

    <body>
    <div id="sqeeze">
    <div id="sqeeze_header">
    <div id="sqeeze_header_title">Iscriviti alla Newsletter</div>
    <div id="sqeeze_header_openClose"></div>
    </div>
    <div id="sqeeze_body">Iscrivendoti riceverai in automatico una mail che ti avviserà dell'avvenuta pubblicazione di un nuovo articolo con relativo link per raggiungerlo agilmente.</div>
    <div id="sqeeze_form">
    <div id="sqeeze_form_left">
    <input id="sqeeze_form_left_text" type="text">
    inviando la mail dichiaro di essere di accettare la nota sulla <a href="#">privacy</a> e i termini per la fruizione del servizio </div>
    <div id="sqeeze_form_right"></div>
    </div>
    <div style="clear:left"></div>
    </div>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script type="text/javascript" src="newsletter.js"></script>
    </body>
    </html>
    Codice javascript ovvero newsletter.js:

    $("#sqeeze_form_right").click(function(){

    var mail = $("#sqeeze_form_left_text");
    var correct = new RegExp("^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
    var res = correct.test(mail.val());

    if (!res)
    {
    alert("Inserire una mail corretta per favore");
    mail.focus();
    return false;
    }
    else
    {
    send_ajax(mail.val());
    }
    });

    function send_ajax(mail_val)
    {
    $.ajax({
    type: 'POST',
    url: 'newsletter.php',
    data: { mail: mail_val },
    })
    .done(function() {
    alert (flag);
    if (flag == true)
    {
    $("#sqeeze_header_title").html("Iscrizione Eseguita!");
    $("#sqeeze_body").empty();
    $("#sqeeze_body").html("Colgo di nuovo l'occasione per ringraziare della fiducia dimostrata; in genere gli articoli vengono postati con cadenza settimanale o quindicinale, sarà mia premura avvisare. Buona Navigazione!");
    $("#sqeeze_form").empty();
    }
    else
    {
    alert("done");
    error();
    }
    })
    .fail(function(){
    alert("fail");
    error();
    })
    }

    function error()
    {
    $("#sqeeze_header_title").html("Ops...");
    $("#sqeeze_body").empty();
    $("#sqeeze_body").html("C'è stato un problema nell'invio della mail. Per favore reinviare l'indirizzo , mi scuso dell'inconveniente. Se il Problema persiste, per favore riprovare più tardi.");
    }
    Questo è il codice php cioè newsletter.php:

    $mail = $_POST["mail"];

    $oggetto = "Nuovo Indirizzo";

    $messaggio = "l'email inviata è:".$mail;

    $flag = mail("miamail@dominio.it", $oggetto, $messaggio);

    echo $flag;
    Ora se pongo i tre file nella directory public del sito tutto funziona bene, mentre se pongo i tre file in una cartella qualsiasi smette di funzionare, non è che uqalche anima mia potrebbe spiegarmi se è un problema di cross domain da parte di AJAX e come risolverlo?
    Ultima modifica di salvio78; 21-11-2014 a 19:19 Motivo: migliorare la leggibilità

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.