2017-03-24 1 views
0

Ich arbeite mit einer Node (Express) -basierten API, die HTML und jQuery auf Anfrage an das Frontend weitergibt, das in das Dokument eingebettet ist. Ich suche nach einer netten Möglichkeit, die Funktion im Backend zu stringieren, damit ich sie an das Frontend senden kann. Ich versuche, den Code zu minimieren, den ich auf das Frontend legen muss. Das ist, was ich jetzt habe, was funktional ist, sich aber ein wenig hässlich anfühlt und schwer zu debuggen ist.Jquery-Funktion vom Knoten über HTTP-Antwort übergeben

responseData.scripts = "<script>"; 
var search_request = 
    "$('#search_form').submit(function(event) { "+ 
      "event.preventDefault();"+ 
     "data.stage = 'search';"+ 
     "data.query.first_name='Bob';"+ 

     "$.ajax({"+ 
       "type: 'GET',"+ 
       "url: 'http://159.203.131.150:3000',"+ 
      "data:data,"+ 
      "crossDomain: true,"+ 
      "success: function(response) {"+ 
       "response = JSON.parse(response);"+ 
       "console.log(response);"+ 
      "}"+    
     "})" + 
    "})" + 
"</script>"; 
responseData.scripts+=search_request; 

Auf dem Front-End, ich habe

$.ajax({ 
type: "GET", 
url: "http://159.203.131.150:3000", 
data: data, 
crossDomain: true, 

success: function(response) { 
    response = JSON.parse(response); 
    $(response.html).prependTo("#content"); 
    $(response.scripts).appendTo("body"); 
}, 


    }); 

Antwort

0

$.ajax({ 
type: "GET", 
url: "http://159.203.131.150:3000", 
data: data, 
crossDomain: true, 

success: function(response) { 
    response = JSON.parse(response); 
    $(response.html).prependTo("#content"); 
    $(function() { 
     $('<script>') 
     .attr('type', 'text/javascript') 
     .text(response.scripts) 
     .appendTo('body'); 
    }) 
} 
}); 

wie diese tun und den Skript-Tag aus der Antwort-Server Seite entfernen

+0

Danke Kuldeep. Das ist nicht das, wonach ich gefragt habe. Ich habe keine Probleme auf der Client-Seite, tatsächlich funktionieren die Dinge so, wie ich es geschrieben habe. Ich suche nach einer besseren Alternative zu der Methode, die ich auf der Serverseite verwende, um die jQuery an die Client-Seite zu senden –

+0

Gibt es einen Grund, auf der Client-Seite zu tun, was Sie gegenüber was empfehlen Ich habe? –

0

ich eine Express gefunden Funktion, um dies zu tun (Ich bin neu in Express, es ist eine ziemlich grundlegende Funktion). Ich habe die Javascript-Datei in einem öffentlichen Ordner gespeichert und von meiner App aus bereitgestellt.

https://expressjs.com/en/starter/static-files.html

Verwandte Themen