Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Cross domain con AJAX

  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à

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Direi di no, perché non mi sembra tu faccia chiamate ajax esterne al tuo sito o sbaglio?
    Più probabile che sia un problema di lettura e di scrittura della cartella che in public sono attivi di default
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    92
    Ho controllato i permessi sono tutti settati su 755 quindi ci sono, ma non riesco a capire perche mi ritorna il file se pongo i file in cartella e va tutto liscio se li tengo nella directori principale /

    Ma non riesco a capire perchè fa così...

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Mi sembra che scrittura e lettura completa devi avere 777 in public come sono settati? Hai provato a chiedere al provider?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    92
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Mi sembra che scrittura e lettura completa devi avere 777 in public come sono settati? Hai provato a chiedere al provider?
    Il provider non ho problemi a dirlo TOPHOST mi ha detto che dovevo imparare cosa fosse una chiamata AJAX, salvo poi che ho scoperto che il problema era l'uso dei una directory denominata "TMP", appena l'ho spostato altrove a funzionato perfettamente.

    Va bè risolto, ti ringrazio lo stesso.

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.