2017-05-22 7 views
0

Also habe ich ein Java-Servlet mit einer index.html-Seite erstellt. Ich führe Tomcat-Server von Eclipse aus und der Chrome-Browser wird nicht nach dem <h3>Adwords API</h3> Rendern gerendert, wo es in Eclipse-Registerkarte gerendert wird. (Ich habe versucht, Cache zu leeren, aber keine Verwendung). Hier ist Bild in der Sonnenfinsternis: https://postimg.org/image/cvyroei2j/ Hier ist Bild in Chrom: https://postimg.org/image/x08sxijlv/ Ich habe nur relevanten Teil des HTML-und Javascript-Code geschrieben.Servlet getParameter gibt null zurück und der Chrome-Browser zeigt die Webseite nicht richtig an

Ein anderes Problem ist GetParameter() gibt immer null zurück. Hier ist mein Code:

<div class="container" id="adcontainer"> 
    <h3 id="heading">Adwords API</h3> 
    <form method="post" id="keywordsForm" enctype="multipart/form-data"> 
     <div class="row"> 
      <div class="col-md-8"> 
       <div class="form-group row"> 
        <label for="ads" class="control-label col-xs-3">Enter Keywords:</label> 
        <div class="col-xs-9"> 
         <textarea class="form-control" rows="4" id="ads" name="keywords"></textarea> 
        </div> 
       </div> 
      </div> 
     <div class="col-md-4"></div> 
     </div> 
     <div class="row"> 
      <div class ="col-md-8"> 
       <div class="form-group row"> 
        <label for="inputURL" class="control-label col-xs-3">Landing Page URL:</label> 
        <div class="col-xs-9"> 
         <input type="text" class="form-control" id="inputURL" placeholder="rockauto.com"> 
        </div> 
       </div> 
      </div> 
     <div class="col-md-4"></div> 
     </div> 
     <div class="row"> 
      <div class ="col-md-8"> 
       <div class="form-group row"> 
        <label for="category" class="control-label col-xs-3">Category:</label> 
        <div class="col-xs-9"> 
         <input type="text" class="form-control" id="category" placeholder="Auto Parts"> 
        </div> 
       </div> 
      </div> 
     <div class="col-md-4"></div> 
     </div> 
     <div class="row"> 
      <div class ="col-md-8"> 
       <div class="form-group row"> 
        <label for="location" class="control-label col-xs-3">Location:</label> 
        <div class="col-xs-9"> 
         <input type="text" class="form-control" id="location" placeholder="Canada"> 
        </div> 
       </div> 
      </div> 
     <div class="col-md-4"> 
      <button type="submit" class="btn btn-primary" onclick="return keyData();" id="ads_button">Extract</button> 
     </div> 
     </div> 
    </form> 
    </div> 

    <script type="text/javascript" src="js/updatePage.js"></script> 

Javascript:

function keyData(){ 
     if(window.XMLHttpRequest) { //Assuming you're not on one of the old IEs. 
      console.log("Hi!"); 
      var xhttp = new XMLHttpRequest(); 
      xhttp.onreadystatechange=function() { 
       if (xhttp.readyState == 4 && xhttp.status == 200) { 
        console.log((xhttp.responseText)); // function to add data to table. 
       } 
      } 
      xhttp.open("POST","/cmstoolweb/AdwordsServlet",false); 
      var formData = new FormData(document.getElementById('keywordsForm')); 
      xhttp.send(formData); 
      } 
      else console.log('not working'); 
      return false; 
} 

Servlets:

package ca.partsavatar.web; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.StringReader; 
import java.util.ArrayList; 
import java.util.List; 

import javax.servlet.ServletException; 
import javax.servlet.annotation.MultipartConfig; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

/** 
* Servlet implementation class AdwordsServlet 
*/ 
@WebServlet("/AdwordsServlet") 
@MultipartConfig 
public class AdwordsServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public AdwordsServlet() { 
     super(); 
    } 

    /** 
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     String adwords = request.getParameter("keywords"); 
     System.out.println(adwords); //always returnung NULL 
    } 

} 

Danke.

+0

können Sie den Inhalt des Anfrage-Headers in der Anfrage des Browser-Netzwerk-Requests angeben? –

+0

Mein Chrom wird nicht unter der AdWords-API-Überschrift angezeigt, daher kann ich nicht auf die Schaltfläche klicken, um die Daten zu übermitteln. – Nihhaar

+0

Ich habe die Frage bearbeitet, um den Teil, den ich in HTML-Datei möchte. Dieser Teil wird nicht vom chrome angezeigt, wird aber im eclipse-Tag angezeigt. – Nihhaar

Antwort

0

Okay, ich weiß nicht, warum das passiert, aber die Lösung war, die id="adheading" für das div zu entfernen, um im Chrome-Browser zu erscheinen. Und entfernen Sie auch die ID für die Schaltfläche des Formulars, damit die Schaltfläche angezeigt wird.

Verwandte Themen