【问题标题】:responseText contains extra whitespace characters (new lines, line feeds), how to prevent and remove them in jsp?responseText 包含额外的空白字符(换行符,换行符),如何在jsp中防止和删除它们?
【发布时间】:2019-04-19 08:41:56
【问题描述】:

responseText contains extra whitespace characters (new lines, line feeds), how to prevent and remove them?

请阅读以上链接

我的 jsp 页面发送 "ok""not",包括空格。 如何防止和删除空格或换行符

valid.js

window.onload=initPage;
function initPage(){
    alert("Browser Started");
    //call checkUsername function
     document.getElementById("username").onblur=checkUsername;
 }
function checkUsername(){
    request=createRequest();
    if(request==null){
        alert("Unable to create request");
    }else{
        alert("Request Object Created")
         var theName = document.getElementById("username").value;
         var username = escape(theName);
         //create url pass username
         var url= "checkName.jsp?username=" + username;
         //any change execute showUsernameStatus function
         request.onreadystatechange = showUsernameStatus;
         request.open("GET", url, true);
         request.send(null);
    }
}
function showUsernameStatus(){
    if (request.readyState == 4) {
        if (request.status == 200) {
            var val=request.responseText;
            alert("Response: "+val);
             if (val == "okay") {
                    //something
                  } else {
                    //something
                  }
        }
    }
}

checkName.jsp

<%@ page language="java"
    pageEncoding="UTF-8"%>
<%String username=request.getParameter("username");
    System.out.println("Username:"+username);
    if(!username.equals("") && username!=null){
        if(!username.equals("Raju")){
            out.print("okay");
            System.out.println("okay");
        }else{
            out.println("not");
            System.out.println("not");
        }
    }
%>

【问题讨论】:

  • 在这里发布你的代码,没有代码很难找出你的问题。

标签: ajax jsp


【解决方案1】:

您可以在 Javascript 函数中使用trim()

var val=request.responseText;   
if (val.trim() == "okay") {
    // something
} else {
    // something
}

或者你可以在jsp页面中使用trimDirectiveWhitespaces=true

<%@ page trimDirectiveWhitespaces="true" %>

【讨论】:

    【解决方案2】:

    首先,我鼓励您使用 JSON 对象进行此类工作。

    Here 是如何在 JSP 页面中使用 JSON 的一个很好的示例。

    现在,在您的情况下,您必须注意这一点,以修剪您从 JSP 页面获取的结果。

    你必须在 JavaScript 函数中使用 trim。

     if (val.trim() == "okay") {
         //something
     } else {
         //something
     }
    

    或者您可以使用正则表达式删除所有空格:

    var newVal = val.replace(/\s+/, "");
    

    【讨论】:

      猜你喜欢
      • 2011-11-04
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-04
      • 2011-08-27
      • 1970-01-01
      相关资源
      最近更新 更多