2017-03-13 3 views
0

Ich habe eine Eingabeleiste, die auf eine andere https-Seite (enthält Google-Suche) auf Senden umleiten muss. Der Code des Formulars ist der nächste:Amp-Formular wird nicht auf eine andere Seite umgeleitet

<form class="navbar-form navbar-left hide-inputs buscadoMovilLine" role="search" target="_blank" action-xhr="https://www.tuotromedico.com/buscadorg.php" action="https://www.tuotromedico.com/buscadorg.php" method="get"> 
       <div class="form-group buscador"> 
        <input class="SearchInputMovil2 inl" type="text" placeholder="Buscar..." class="form-control" name="q"> 
        <button class="inl" type="submit" class="btn btn-default"><i class="fa fa-search lupaBuscarMovilBoton2" aria-hidden="true"></i></button> 
       </div> 
     </form> 

Ich habe die Erweiterung amp-formular hinzugefügt. Die offizielle Dokumentation sagt dies:

Umleiten nach einer Vorlage Amp-Form auch Verlage Anwender auf eine neue Seite umgeleitet werden kann, nachdem eine Vorlage geschieht durch AMP-Redirect-To-Antwort-Header.

Beachten Sie, dass Sie auch Ihre Antwort-Control-Expose-Header Antwortheader aktualisieren müssen, um AMP-Redirect-To in die Liste der zulässigen Header aufzunehmen.

Die Weiterleitungs-URL muss eine absolute HTTPS-URL sein, andernfalls wirft AMP einen Fehler und eine Umleitung wird nicht stattfinden.

https://www.ampproject.org/es/docs/reference/components/dynamic/amp-form

Aber ich bin nicht sicher, wie ich das angeben.

Antwort

1

ich 2 Möglichkeiten wissen, ist dies für den Knoten:

app.post('/register', function (req, res) { 
 
    let form = new formidable.IncomingForm(); 
 
    form.parse(req, function (err, fields) { 
 
    
 
    res.setHeader('AMP-Access-Control-Allow-Source-Origin', 'https://example.com/'); 
 
    
 
     if (fields.first_name && fields.last_name) { 
 
     res.setHeader('AMP-Redirect-To', 'https://example.com/some-key');  
 
     res.status(200).json(fields); 
 
     } else { 
 
     res.status(400).json({error: 'Please select a size.'}); 
 
     } 
 
});

und der zweite, in amp Sie NavigateTo()

 <form class="proceed__form" method="post" id="requirements-form" 
 
       action-xhr="https://localhost:4040/check-requirements" 
 
       target="_top" 
 
       on="submit-success:AMP.navigateTo(url='https://google.com')" 
 
     > 
 
     </form> 
 
     
 
     OR you can get variable from response 
 
     (res.status(200).json({message: 'success', navigateTo: domain + '/profile'});) 
 
     
 
     <form class="proceed__form" method="post" id="requirements-form" 
 
       action-xhr="https://localhost:4040/check-requirements" 
 
       target="_top" 
 
       on="submit-success:AMP.navigateTo(url=event.response.navigateTo)" 
 
     > 
 
     </form>

verwenden können
Verwandte Themen